{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.8.3+52.g2758dc7.dirty\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import folium\n",
    "\n",
    "print(folium.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 track(s)\n",
      "1 segment(s)\n",
      "1027 point(s)\n"
     ]
    }
   ],
   "source": [
    "import gpxpy\n",
    "import requests\n",
    "\n",
    "\n",
    "url = 'https://raw.githubusercontent.com/python-visualization/folium/master/examples/data'\n",
    "fname = f'{url}/2014_08_05_farol.gpx'\n",
    "gpx = gpxpy.parse(requests.get(fname).text)\n",
    "\n",
    "print('{} track(s)'.format(len(gpx.tracks)))\n",
    "track = gpx.tracks[0]\n",
    "\n",
    "print('{} segment(s)'.format(len(track.segments)))\n",
    "segment = track.segments[0]\n",
    "\n",
    "print('{} point(s)'.format(len(segment.points)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = []\n",
    "segment_length = segment.length_3d()\n",
    "for point_idx, point in enumerate(segment.points):\n",
    "    data.append(\n",
    "        [\n",
    "            point.longitude,\n",
    "            point.latitude,\n",
    "            point.elevation,\n",
    "            point.time,\n",
    "            segment.get_speed(point_idx)\n",
    "        ]\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Longitude</th>\n",
       "      <th>Latitude</th>\n",
       "      <th>Altitude</th>\n",
       "      <th>Time</th>\n",
       "      <th>Speed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-38.502595</td>\n",
       "      <td>-13.005390</td>\n",
       "      <td>10.9</td>\n",
       "      <td>2014-08-05 17:52:49.330000+00:00</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-38.502605</td>\n",
       "      <td>-13.005415</td>\n",
       "      <td>11.8</td>\n",
       "      <td>2014-08-05 17:52:49.770000+00:00</td>\n",
       "      <td>2.677749</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-38.502575</td>\n",
       "      <td>-13.005507</td>\n",
       "      <td>11.7</td>\n",
       "      <td>2014-08-05 17:52:54.730000+00:00</td>\n",
       "      <td>3.065225</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>-38.502545</td>\n",
       "      <td>-13.005595</td>\n",
       "      <td>11.6</td>\n",
       "      <td>2014-08-05 17:52:57.750000+00:00</td>\n",
       "      <td>4.228354</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-38.502515</td>\n",
       "      <td>-13.005680</td>\n",
       "      <td>11.4</td>\n",
       "      <td>2014-08-05 17:53:00.720000+00:00</td>\n",
       "      <td>3.947037</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Longitude   Latitude  Altitude                             Time     Speed\n",
       "0 -38.502595 -13.005390      10.9 2014-08-05 17:52:49.330000+00:00       NaN\n",
       "1 -38.502605 -13.005415      11.8 2014-08-05 17:52:49.770000+00:00  2.677749\n",
       "2 -38.502575 -13.005507      11.7 2014-08-05 17:52:54.730000+00:00  3.065225\n",
       "3 -38.502545 -13.005595      11.6 2014-08-05 17:52:57.750000+00:00  4.228354\n",
       "4 -38.502515 -13.005680      11.4 2014-08-05 17:53:00.720000+00:00  3.947037"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pandas import DataFrame\n",
    "\n",
    "columns = ['Longitude', 'Latitude', 'Altitude', 'Time', 'Speed']\n",
    "df = DataFrame(data, columns=columns)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from geographiclib.geodesic import Geodesic\n",
    "\n",
    "angles = [90]\n",
    "for i in range(len(df) - 1):\n",
    "    info = Geodesic.WGS84.Inverse(\n",
    "        df.iloc[i, 1], df.iloc[i, 0],\n",
    "        df.iloc[i + 1, 1], df.iloc[i + 1, 0]\n",
    "    )\n",
    "    angles.append(info['azi2'])\n",
    "\n",
    "# Change from CW-from-North to CCW-from-East.\n",
    "angles = np.deg2rad(450 - np.array(angles))\n",
    "\n",
    "# Normalize the speed to use as the length of the arrows.\n",
    "r = df['Speed'] / df['Speed'].max()\n",
    "df['u'] = r * np.cos(angles)\n",
    "df['v'] = r * np.sin(angles)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import mplleaflet\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "df = df.dropna()\n",
    "\n",
    "# This style was lost below.\n",
    "ax.plot(\n",
    "    df['Longitude'],\n",
    "    df['Latitude'],\n",
    "    color='darkorange',\n",
    "    linewidth=5,\n",
    "    alpha=0.5\n",
    ")\n",
    "\n",
    "# This is preserved in the SVG icon.\n",
    "sub = 10\n",
    "kw = {'color': 'deepskyblue', 'alpha': 0.8, 'scale': 10}\n",
    "ax.quiver(df['Longitude'][::sub],\n",
    "          df['Latitude'][::sub],\n",
    "          df['u'][::sub],\n",
    "          df['v'][::sub], **kw)\n",
    "\n",
    "gj = mplleaflet.fig_to_geojson(fig=fig)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9jMzBjMWUzNGRiMTU0OTAxYjhlNmU3MDg3OWJkOTZmYSB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfYzMwYzFlMzRkYjE1NDkwMWI4ZTZlNzA4NzliZDk2ZmEiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2MzMGMxZTM0ZGIxNTQ5MDFiOGU2ZTcwODc5YmQ5NmZhID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2MzMGMxZTM0ZGIxNTQ5MDFiOGU2ZTcwODc5YmQ5NmZhIiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFstMTMuMDA4NjgwNTEsIC0zOC41MTM4NjA5N10sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNCwKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyX2Y5NDhjNjk0MDgwODQwMTQ5ZmZmZDU0ODhiYWZlYjIwID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9jYXJ0b2RiLWJhc2VtYXBzLXtzfS5nbG9iYWwuc3NsLmZhc3RseS5uZXQvbGlnaHRfYWxsL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIlx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UgY29udHJpYnV0b3JzIFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9jYXJ0b2RiLmNvbS9hdHRyaWJ1dGlvbnNcIlx1MDAzZUNhcnRvREJcdTAwM2MvYVx1MDAzZSwgQ2FydG9EQiBcdTAwM2NhIGhyZWYgPVwiaHR0cDovL2NhcnRvZGIuY29tL2F0dHJpYnV0aW9uc1wiXHUwMDNlYXR0cmlidXRpb25zXHUwMDNjL2FcdTAwM2UiLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfYzMwYzFlMzRkYjE1NDkwMWI4ZTZlNzA4NzliZDk2ZmEpOwogICAgICAgIAogICAgCiAgICAgICAgZnVuY3Rpb24gZ2VvX2pzb25fYzIxNDI4YWQ1ZmQ0NDA2MDk1YWRiMzRkZmY3YjBiNmJfb25FYWNoRmVhdHVyZShmZWF0dXJlLCBsYXllcikgewogICAgICAgICAgICBsYXllci5vbih7CiAgICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIG1hcF9jMzBjMWUzNGRiMTU0OTAxYjhlNmU3MDg3OWJkOTZmYS5maXRCb3VuZHMoZS50YXJnZXQuZ2V0Qm91bmRzKCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9OwogICAgICAgIHZhciBnZW9fanNvbl9jMjE0MjhhZDVmZDQ0MDYwOTVhZGIzNGRmZjdiMGI2YiA9IEwuZ2VvSnNvbihudWxsLCB7CiAgICAgICAgICAgICAgICBvbkVhY2hGZWF0dXJlOiBnZW9fanNvbl9jMjE0MjhhZDVmZDQ0MDYwOTVhZGIzNGRmZjdiMGI2Yl9vbkVhY2hGZWF0dXJlLAogICAgICAgICAgICAKICAgICAgICB9KS5hZGRUbyhtYXBfYzMwYzFlMzRkYjE1NDkwMWI4ZTZlNzA4NzliZDk2ZmEpOwogICAgICAgICAgICBnZW9fanNvbl9jMjE0MjhhZDVmZDQ0MDYwOTVhZGIzNGRmZjdiMGI2Yi5hZGREYXRhKHsiZ2VvbWV0cnkiOiB7ImNvb3JkaW5hdGVzIjogW1stMzguNTAyNjA1LCAtMTMuMDA1NDE1XSwgWy0zOC41MDI1NzUsIC0xMy4wMDU1MDY2NjY2NjY2NjddLCBbLTM4LjUwMjU0NSwgLTEzLjAwNTU5NV0sIFstMzguNTAyNTE1LCAtMTMuMDA1NjhdLCBbLTM4LjUwMjQ4LCAtMTMuMDA1NzVdLCBbLTM4LjUwMjQ0NSwgLTEzLjAwNTgxNV0sIFstMzguNTAyNCwgLTEzLjAwNTg4XSwgWy0zOC41MDIzNjE2NjY2NjY2NjUsIC0xMy4wMDU5NTY2NjY2NjY2NjZdLCBbLTM4LjUwMjMxLCAtMTMuMDA2MDNdLCBbLTM4LjUwMjI1NjY2NjY2NjY3LCAtMTMuMDA2MTA1XSwgWy0zOC41MDIyMDUwMDAwMDAwMDQsIC0xMy4wMDYxNl0sIFstMzguNTAyMTMsIC0xMy4wMDYyMTE2NjY2NjY2NjddLCBbLTM4LjUwMjA2MTY2NjY2NjY3LCAtMTMuMDA2MjddLCBbLTM4LjUwMjAwMTY2NjY2NjY2NSwgLTEzLjAwNjMxNjY2NjY2NjY2N10sIFstMzguNTAxOTIsIC0xMy4wMDYzNTE2NjY2NjY2NjddLCBbLTM4LjUwMTg0NSwgLTEzLjAwNjM5XSwgWy0zOC41MDE3NTgzMzMzMzMzMzUsIC0xMy4wMDY0NF0sIFstMzguNTAxNjgxNjY2NjY2NjcsIC0xMy4wMDY0NzVdLCBbLTM4LjUwMTYxLCAtMTMuMDA2NV0sIFstMzguNTAxNTI4MzMzMzMzMzMsIC0xMy4wMDY1NF0sIFstMzguNTAxNDQ2NjY2NjY2NjY2LCAtMTMuMDA2NTY2NjY2NjY2NjY2XSwgWy0zOC41MDEzNywgLTEzLjAwNjU5XSwgWy0zOC41MDEyOTUsIC0xMy4wMDY2MV0sIFstMzguNTAxMjE2NjY2NjY2NjY0LCAtMTMuMDA2NjJdLCBbLTM4LjUwMTEzMTY2NjY2NjY2NiwgLTEzLjAwNjYzNjY2NjY2NjY2N10sIFstMzguNTAxMDYsIC0xMy4wMDY2NzE2NjY2NjY2NjhdLCBbLTM4LjUwMDk4NSwgLTEzLjAwNjcwNV0sIFstMzguNTAwOSwgLTEzLjAwNjczXSwgWy0zOC41MDA4MDUsIC0xMy4wMDY3MzVdLCBbLTM4LjUwMDczLCAtMTMuMDA2NzQ1XSwgWy0zOC41MDA2NiwgLTEzLjAwNjc2MTY2NjY2NjY2Nl0sIFstMzguNTAwNTg1LCAtMTMuMDA2NzldLCBbLTM4LjUwMDUwNjY2NjY2NjY2NiwgLTEzLjAwNjgyNV0sIFstMzguNTAwNDE2NjY2NjY2NjY2LCAtMTMuMDA2ODUxNjY2NjY2NjY2XSwgWy0zOC41MDAzMywgLTEzLjAwNjg3NV0sIFstMzguNTAwMjM1LCAtMTMuMDA2ODk1XSwgWy0zOC41MDAxNCwgLTEzLjAwNjkzXSwgWy0zOC41MDAwNDUsIC0xMy4wMDY5NDVdLCBbLTM4LjQ5OTk1LCAtMTMuMDA2OTYxNjY2NjY2NjY3XSwgWy0zOC40OTk4NTgzMzMzMzMzMzYsIC0xMy4wMDY5OV0sIFstMzguNDk5Nzc1LCAtMTMuMDA3MDA2NjY2NjY2NjY3XSwgWy0zOC40OTk3LCAtMTMuMDA3MDE4MzMzMzMzMzMzXSwgWy0zOC40OTk2MSwgLTEzLjAwNzAzNV0sIFstMzguNDk5NTI1LCAtMTMuMDA3MDUxNjY2NjY2NjY3XSwgWy0zOC40OTk0NCwgLTEzLjAwNzA3XSwgWy0zOC40OTkzNjY2NjY2NjY2NywgLTEzLjAwNzA4NV0sIFstMzguNDk5Mjk2NjY2NjY2NjY2LCAtMTMuMDA3MTFdLCBbLTM4LjQ5OTIxLCAtMTMuMDA3MTUzMzMzMzMzMzMzXSwgWy0zOC40OTkxNDE2NjY2NjY2NywgLTEzLjAwNzIxXSwgWy0zOC40OTkwNzUsIC0xMy4wMDcyN10sIFstMzguNDk5MDIsIC0xMy4wMDczMl0sIFstMzguNDk4OTU2NjY2NjY2NjY1LCAtMTMuMDA3MzldLCBbLTM4LjQ5ODksIC0xMy4wMDc0NV0sIFstMzguNDk4ODU1LCAtMTMuMDA3NTA1XSwgWy0zOC40OTg4MTUsIC0xMy4wMDc1ODY2NjY2NjY2NjddLCBbLTM4LjQ5ODc3LCAtMTMuMDA3NjU1XSwgWy0zOC40OTg3MTY2NjY2NjY2NywgLTEzLjAwNzczXSwgWy0zOC40OTg2NiwgLTEzLjAwNzgwNjY2NjY2NjY2N10sIFstMzguNDk4NjIsIC0xMy4wMDc4ODVdLCBbLTM4LjQ5ODU4NSwgLTEzLjAwNzk4XSwgWy0zOC40OTg1MzUsIC0xMy4wMDgwNl0sIFstMzguNDk4NDkzMzMzMzMzMzM2LCAtMTMuMDA4MTI1XSwgWy0zOC40OTg0MzUsIC0xMy4wMDgxOV0sIFstMzguNDk4NDEsIC0xMy4wMDgyNjE2NjY2NjY2NjZdLCBbLTM4LjQ5ODM1MTY2NjY2NjY2NSwgLTEzLjAwODMxNV0sIFstMzguNDk4MywgLTEzLjAwODM3NV0sIFstMzguNDk4MjU1LCAtMTMuMDA4NDM1XSwgWy0zOC40OTgyMDUsIC0xMy4wMDg0OTVdLCBbLTM4LjQ5ODE3LCAtMTMuMDA4NTddLCBbLTM4LjQ5ODEyNSwgLTEzLjAwODYzXSwgWy0zOC40OTgwNCwgLTEzLjAwODY2XSwgWy0zOC40OTc5NTUsIC0xMy4wMDg2OTVdLCBbLTM4LjQ5Nzg5NSwgLTEzLjAwODc0XSwgWy0zOC40OTc4MTE2NjY2NjY2NjQsIC0xMy4wMDg3ODVdLCBbLTM4LjQ5Nzc0MTY2NjY2NjY3LCAtMTMuMDA4ODM2NjY2NjY2NjY3XSwgWy0zOC40OTc2OCwgLTEzLjAwODg5NV0sIFstMzguNDk3NTksIC0xMy4wMDg5NF0sIFstMzguNDk3NTE2NjY2NjY2NjcsIC0xMy4wMDg5NzVdLCBbLTM4LjQ5NzQzNSwgLTEzLjAwOTAxXSwgWy0zOC40OTczOCwgLTEzLjAwOTA2NV0sIFstMzguNDk3MzUsIC0xMy4wMDkxNF0sIFstMzguNDk3MzEsIC0xMy4wMDkyMTVdLCBbLTM4LjQ5NzI4LCAtMTMuMDA5Mjk1XSwgWy0zOC40OTcyOCwgLTEzLjAwOTM4XSwgWy0zOC40OTcyNTUsIC0xMy4wMDk0NTVdLCBbLTM4LjQ5NzIzNjY2NjY2NjY2NiwgLTEzLjAwOTUzXSwgWy0zOC40OTcyMTMzMzMzMzMzMzUsIC0xMy4wMDk2MDVdLCBbLTM4LjQ5NzE5LCAtMTMuMDA5NjhdLCBbLTM4LjQ5NzE1LCAtMTMuMDA5NzddLCBbLTM4LjQ5NzEzNSwgLTEzLjAwOTg1XSwgWy0zOC40OTcxMDUsIC0xMy4wMDk5MjVdLCBbLTM4LjQ5NzA4NSwgLTEzLjAxXSwgWy0zOC40OTcwNTUsIC0xMy4wMTAwNjgzMzMzMzMzMzNdLCBbLTM4LjQ5NzAzNSwgLTEzLjAxMDE0XSwgWy0zOC40OTcwMSwgLTEzLjAxMDIxNV0sIFstMzguNDk3MDIsIC0xMy4wMTAyOTVdLCBbLTM4LjQ5NzA0NSwgLTEzLjAxMDM4XSwgWy0zOC40OTcxNSwgLTEzLjAxMDM4NV0sIFstMzguNDk3MjM1LCAtMTMuMDEwMzkzMzMzMzMzMzMzXSwgWy0zOC40OTczMTUsIC0xMy4wMTA0MV0sIFstMzguNDk3NDEsIC0xMy4wMTA0Ml0sIFstMzguNDk3NDk1LCAtMTMuMDEwNDQ1XSwgWy0zOC40OTc1OSwgLTEzLjAxMDQ3NV0sIFstMzguNDk3NjgxNjY2NjY2NjY1LCAtMTMuMDEwNDldLCBbLTM4LjQ5Nzc2NSwgLTEzLjAxMDQ2XSwgWy0zOC40OTc4NiwgLTEzLjAxMDQ0XSwgWy0zOC40OTc5MzUsIC0xMy4wMTA0MV0sIFstMzguNDk4MDIsIC0xMy4wMTA0MV0sIFstMzguNDk4MDk1LCAtMTMuMDEwNF0sIFstMzguNDk4MTgsIC0xMy4wMTA0XSwgWy0zOC40OTgyNiwgLTEzLjAxMDQxNV0sIFstMzguNDk4MzU2NjY2NjY2NjY2LCAtMTMuMDEwNDM2NjY2NjY2NjY3XSwgWy0zOC40OTg0MzUsIC0xMy4wMTA0NTVdLCBbLTM4LjQ5ODUxNSwgLTEzLjAxMDQ3NV0sIFstMzguNDk4NTkxNjY2NjY2NjcsIC0xMy4wMTA0OTVdLCBbLTM4LjQ5ODY4LCAtMTMuMDEwNTA1XSwgWy0zOC40OTg3NywgLTEzLjAxMDUwNV0sIFstMzguNDk4ODYsIC0xMy4wMTA1MTVdLCBbLTM4LjQ5ODk1LCAtMTMuMDEwNTA1XSwgWy0zOC40OTkwNCwgLTEzLjAxMDUyMzMzMzMzMzMzM10sIFstMzguNDk5MTMsIC0xMy4wMTA1MzY2NjY2NjY2NjddLCBbLTM4LjQ5OTIyNSwgLTEzLjAxMDU1XSwgWy0zOC40OTkzLCAtMTMuMDEwNTddLCBbLTM4LjQ5OTM4NSwgLTEzLjAxMDU1NV0sIFstMzguNDk5NDY1LCAtMTMuMDEwNTY1XSwgWy0zOC40OTk1NDUsIC0xMy4wMTA1OF0sIFstMzguNDk5NjIsIC0xMy4wMTA1OTVdLCBbLTM4LjQ5OTcsIC0xMy4wMTA1OTVdLCBbLTM4LjQ5OTc4ODMzMzMzMzMzNSwgLTEzLjAxMDYwMTY2NjY2NjY2Nl0sIFstMzguNDk5ODgsIC0xMy4wMTA1OV0sIFstMzguNDk5OTU1LCAtMTMuMDEwNl0sIFstMzguNTAwMDMsIC0xMy4wMTA2NF0sIFstMzguNTAwMTEsIC0xMy4wMTA2NzVdLCBbLTM4LjUwMDE5MTY2NjY2NjY2NiwgLTEzLjAxMDcxMTY2NjY2NjY2N10sIFstMzguNTAwMjkxNjY2NjY2NjcsIC0xMy4wMTA3MzVdLCBbLTM4LjUwMDM4LCAtMTMuMDEwNzRdLCBbLTM4LjUwMDQ3LCAtMTMuMDEwNzRdLCBbLTM4LjUwMDU1NjY2NjY2NjY3LCAtMTMuMDEwNzddLCBbLTM4LjUwMDYzNSwgLTEzLjAxMDc4XSwgWy0zOC41MDA3MiwgLTEzLjAxMDgwODMzMzMzMzMzM10sIFstMzguNTAwODIxNjY2NjY2NjcsIC0xMy4wMTA4NF0sIFstMzguNTAwOTI2NjY2NjY2NjY1LCAtMTMuMDEwODRdLCBbLTM4LjUwMTAxMTY2NjY2NjY2LCAtMTMuMDEwODU2NjY2NjY2NjY3XSwgWy0zOC41MDEwOTUsIC0xMy4wMTA4NjE2NjY2NjY2NjddLCBbLTM4LjUwMTE4LCAtMTMuMDEwODY2NjY2NjY2NjY3XSwgWy0zOC41MDEyNzUsIC0xMy4wMTA4NjMzMzMzMzMzMzNdLCBbLTM4LjUwMTM1LCAtMTMuMDEwODU1XSwgWy0zOC41MDE0MzUsIC0xMy4wMTA4NV0sIFstMzguNTAxNTMxNjY2NjY2NjY1LCAtMTMuMDEwODNdLCBbLTM4LjUwMTYyMTY2NjY2NjY2NSwgLTEzLjAxMDgwNV0sIFstMzguNTAxNywgLTEzLjAxMDc4NV0sIFstMzguNTAxOCwgLTEzLjAxMDc2NV0sIFstMzguNTAxODc1LCAtMTMuMDEwNzJdLCBbLTM4LjUwMTk1LCAtMTMuMDEwNjg2NjY2NjY2NjY3XSwgWy0zOC41MDIwMzUsIC0xMy4wMTA2NV0sIFstMzguNTAyMTIsIC0xMy4wMTA2MTVdLCBbLTM4LjUwMjE5NSwgLTEzLjAxMDU4NV0sIFstMzguNTAyMjcsIC0xMy4wMTA1NzVdLCBbLTM4LjUwMjM2MTY2NjY2NjY2NSwgLTEzLjAxMDU1NV0sIFstMzguNTAyNDQsIC0xMy4wMTA1NV0sIFstMzguNTAyNTE2NjY2NjY2NjY1LCAtMTMuMDEwNTQzMzMzMzMzMzMzXSwgWy0zOC41MDI2MTUsIC0xMy4wMTA1NF0sIFstMzguNTAyNywgLTEzLjAxMDU0XSwgWy0zOC41MDI3ODE2NjY2NjY2NjQsIC0xMy4wMTA1NDY2NjY2NjY2NjZdLCBbLTM4LjUwMjg2NSwgLTEzLjAxMDU2XSwgWy0zOC41MDI5NSwgLTEzLjAxMDU3XSwgWy0zOC41MDMwNCwgLTEzLjAxMDU5NV0sIFstMzguNTAzMTQsIC0xMy4wMTA2MjVdLCBbLTM4LjUwMzIyNSwgLTEzLjAxMDY1NV0sIFstMzguNTAzMzA1LCAtMTMuMDEwNjg1XSwgWy0zOC41MDMzOSwgLTEzLjAxMDcyXSwgWy0zOC41MDM0NywgLTEzLjAxMDc1NV0sIFstMzguNTAzNTQxNjY2NjY2NjYsIC0xMy4wMTA3OTVdLCBbLTM4LjUwMzYyNSwgLTEzLjAxMDgzNV0sIFstMzguNTAzNywgLTEzLjAxMDg2NjY2NjY2NjY2N10sIFstMzguNTAzNzg1LCAtMTMuMDEwOV0sIFstMzguNTAzODU1LCAtMTMuMDEwOTI1XSwgWy0zOC41MDM5NDE2NjY2NjY2NywgLTEzLjAxMDk2NV0sIFstMzguNTA0MDEsIC0xMy4wMTA5OTVdLCBbLTM4LjUwNDA5LCAtMTMuMDExMDI1XSwgWy0zOC41MDQxNzY2NjY2NjY2NjYsIC0xMy4wMTEwNV0sIFstMzguNTA0MjU2NjY2NjY2NjcsIC0xMy4wMTEwODE2NjY2NjY2NjhdLCBbLTM4LjUwNDM1NSwgLTEzLjAxMTEyNV0sIFstMzguNTA0NDI1LCAtMTMuMDExMTUxNjY2NjY2NjY3XSwgWy0zOC41MDQ0OTUsIC0xMy4wMTExODY2NjY2NjY2NjddLCBbLTM4LjUwNDU5LCAtMTMuMDExMjI2NjY2NjY2NjY3XSwgWy0zOC41MDQ2NzUsIC0xMy4wMTEyNl0sIFstMzguNTA0NzY1LCAtMTMuMDExMjldLCBbLTM4LjUwNDg1NSwgLTEzLjAxMTMxODMzMzMzMzMzNF0sIFstMzguNTA0OTI1LCAtMTMuMDExMzVdLCBbLTM4LjUwNSwgLTEzLjAxMTRdLCBbLTM4LjUwNTA3LCAtMTMuMDExNDM2NjY2NjY2NjY3XSwgWy0zOC41MDUxNTUsIC0xMy4wMTE0OF0sIFstMzguNTA1MjQsIC0xMy4wMTE1Ml0sIFstMzguNTA1MzExNjY2NjY2NjY0LCAtMTMuMDExNTQ1XSwgWy0zOC41MDUzOTUsIC0xMy4wMTE1Nl0sIFstMzguNTA1NDY2NjY2NjY2NjYsIC0xMy4wMTE1NzVdLCBbLTM4LjUwNTU0MTY2NjY2NjY2NiwgLTEzLjAxMTU4XSwgWy0zOC41MDU2MiwgLTEzLjAxMTU3XSwgWy0zOC41MDU2OTUsIC0xMy4wMTE1NTVdLCBbLTM4LjUwNTc4MzMzMzMzMzMzLCAtMTMuMDExNTM1XSwgWy0zOC41MDU4NzUsIC0xMy4wMTE1MTVdLCBbLTM4LjUwNTk1LCAtMTMuMDExNDg2NjY2NjY2NjY2XSwgWy0zOC41MDYwMzUsIC0xMy4wMTE0NV0sIFstMzguNTA2MTMxNjY2NjY2NjcsIC0xMy4wMTE0MjVdLCBbLTM4LjUwNjIyNSwgLTEzLjAxMTQwNV0sIFstMzguNTA2MzEsIC0xMy4wMTEzODY2NjY2NjY2NjddLCBbLTM4LjUwNjQsIC0xMy4wMTEzNjVdLCBbLTM4LjUwNjQ5LCAtMTMuMDExMzZdLCBbLTM4LjUwNjU3LCAtMTMuMDExMzddLCBbLTM4LjUwNjY0NSwgLTEzLjAxMTM3XSwgWy0zOC41MDY3MjUsIC0xMy4wMTEzNl0sIFstMzguNTA2ODEsIC0xMy4wMTEzNDE2NjY2NjY2NjddLCBbLTM4LjUwNjg5MTY2NjY2NjY3LCAtMTMuMDExMzNdLCBbLTM4LjUwNjk3NSwgLTEzLjAxMTMxNjY2NjY2NjY2OF0sIFstMzguNTA3MDU4MzMzMzMzMzMsIC0xMy4wMTEzM10sIFstMzguNTA3MTQ1LCAtMTMuMDExMzNdLCBbLTM4LjUwNzIxODMzMzMzMzMzNCwgLTEzLjAxMTMyNV0sIFstMzguNTA3MzE1LCAtMTMuMDExMzExNjY2NjY2NjY2XSwgWy0zOC41MDczOSwgLTEzLjAxMTMwNV0sIFstMzguNTA3NDc2NjY2NjY2NjcsIC0xMy4wMTEzMDVdLCBbLTM4LjUwNzU3NSwgLTEzLjAxMTI5MTY2NjY2NjY2N10sIFstMzguNTA3NjU1LCAtMTMuMDExMjY1XSwgWy0zOC41MDc3MjUsIC0xMy4wMTEyMzVdLCBbLTM4LjUwNzgxNSwgLTEzLjAxMTJdLCBbLTM4LjUwNzg5MzMzMzMzMzMzNSwgLTEzLjAxMTE2XSwgWy0zOC41MDc5NjUsIC0xMy4wMTExMV0sIFstMzguNTA4MDM1LCAtMTMuMDExMDVdLCBbLTM4LjUwODEyNSwgLTEzLjAxMTAxNV0sIFstMzguNTA4MjAxNjY2NjY2NjY1LCAtMTMuMDEwOTg1XSwgWy0zOC41MDgyODUsIC0xMy4wMTA5NjVdLCBbLTM4LjUwODM2NSwgLTEzLjAxMDk0NjY2NjY2NjY2N10sIFstMzguNTA4NDQxNjY2NjY2NjcsIC0xMy4wMTA5M10sIFstMzguNTA4NTI1LCAtMTMuMDEwOTE1XSwgWy0zOC41MDg2MSwgLTEzLjAxMDg5NV0sIFstMzguNTA4NywgLTEzLjAxMDg2NV0sIFstMzguNTA4NzksIC0xMy4wMTA4NDVdLCBbLTM4LjUwODg3ODMzMzMzMzMzNSwgLTEzLjAxMDgyMTY2NjY2NjY2N10sIFstMzguNTA4OTcsIC0xMy4wMTA3OV0sIFstMzguNTA5MDQsIC0xMy4wMTA3N10sIFstMzguNTA5MTMsIC0xMy4wMTA3NDVdLCBbLTM4LjUwOTIxLCAtMTMuMDEwNzI2NjY2NjY2NjY3XSwgWy0zOC41MDkyOCwgLTEzLjAxMDY4XSwgWy0zOC41MDkzNiwgLTEzLjAxMDYzNV0sIFstMzguNTA5NDI1LCAtMTMuMDEwNTldLCBbLTM4LjUwOTQ5NSwgLTEzLjAxMDU2NV0sIFstMzguNTA5NTg1LCAtMTMuMDEwNTVdLCBbLTM4LjUwOTY3MTY2NjY2NjY3LCAtMTMuMDEwNTVdLCBbLTM4LjUwOTc0NSwgLTEzLjAxMDU1NV0sIFstMzguNTA5ODIxNjY2NjY2NjcsIC0xMy4wMTA1NDE2NjY2NjY2NjddLCBbLTM4LjUwOTg5NjY2NjY2NjY3LCAtMTMuMDEwNTNdLCBbLTM4LjUwOTk4LCAtMTMuMDEwNTMxNjY2NjY2NjY3XSwgWy0zOC41MTAwNjUsIC0xMy4wMTA1MzVdLCBbLTM4LjUxMDE1LCAtMTMuMDEwNTU1XSwgWy0zOC41MTAyMjUsIC0xMy4wMTA1NDE2NjY2NjY2NjddLCBbLTM4LjUxMDMwNSwgLTEzLjAxMDUxNV0sIFstMzguNTEwMzg1LCAtMTMuMDEwNDldLCBbLTM4LjUxMDQ2LCAtMTMuMDEwNDc1XSwgWy0zOC41MTA1MzUsIC0xMy4wMTA0NDVdLCBbLTM4LjUxMDYyMTY2NjY2NjY2NSwgLTEzLjAxMDQzNV0sIFstMzguNTEwNywgLTEzLjAxMDQyNV0sIFstMzguNTEwNzc1LCAtMTMuMDEwNDFdLCBbLTM4LjUxMDg2NSwgLTEzLjAxMDM4NjY2NjY2NjY2N10sIFstMzguNTEwOTU2NjY2NjY2NjY1LCAtMTMuMDEwMzddLCBbLTM4LjUxMTA1LCAtMTMuMDEwMzVdLCBbLTM4LjUxMTEzLCAtMTMuMDEwMzJdLCBbLTM4LjUxMTIsIC0xMy4wMTAzXSwgWy0zOC41MTEyOCwgLTEzLjAxMDI5XSwgWy0zOC41MTEzNzUsIC0xMy4wMTAyOV0sIFstMzguNTExNDY1LCAtMTMuMDEwMjk2NjY2NjY2NjY3XSwgWy0zOC41MTE1MzgzMzMzMzMzMzQsIC0xMy4wMTAyODE2NjY2NjY2NjZdLCBbLTM4LjUxMTYzNSwgLTEzLjAxMDIyNV0sIFstMzguNTExNzEsIC0xMy4wMTAxODVdLCBbLTM4LjUxMTc5NSwgLTEzLjAxMDEzNjY2NjY2NjY2Nl0sIFstMzguNTExODc1LCAtMTMuMDEwMTE1XSwgWy0zOC41MTE5NTE2NjY2NjY2NywgLTEzLjAxMDA2NjY2NjY2NjY2N10sIFstMzguNTEyMDMsIC0xMy4wMTAwMTMzMzMzMzMzMzNdLCBbLTM4LjUxMjEwNjY2NjY2NjY3LCAtMTMuMDA5OTc2NjY2NjY2NjY3XSwgWy0zOC41MTIxODE2NjY2NjY2NiwgLTEzLjAwOTk2XSwgWy0zOC41MTIyOCwgLTEzLjAwOTk3NjY2NjY2NjY2N10sIFstMzguNTEyMzU1LCAtMTMuMDEwMDA1XSwgWy0zOC41MTI0NSwgLTEzLjAxMDAxXSwgWy0zOC41MTI1NCwgLTEzLjAxMDAxXSwgWy0zOC41MTI2MiwgLTEzLjAxMDAxXSwgWy0zOC41MTI2OTUsIC0xMy4wMDk5ODY2NjY2NjY2NjZdLCBbLTM4LjUxMjc3NSwgLTEzLjAwOTk4XSwgWy0zOC41MTI4NiwgLTEzLjAwOTk2XSwgWy0zOC41MTI5MzUsIC0xMy4wMDk5MzE2NjY2NjY2NjddLCBbLTM4LjUxMzAxLCAtMTMuMDA5OTI1XSwgWy0zOC41MTMwODUsIC0xMy4wMDk5MDE2NjY2NjY2NjZdLCBbLTM4LjUxMzE1NSwgLTEzLjAwOTg3MTY2NjY2NjY2N10sIFstMzguNTEzMjMsIC0xMy4wMDk4NTE2NjY2NjY2NjZdLCBbLTM4LjUxMzMxNSwgLTEzLjAwOTgzNV0sIFstMzguNTEzNCwgLTEzLjAwOTgzNV0sIFstMzguNTEzNDc1LCAtMTMuMDA5ODVdLCBbLTM4LjUxMzU2LCAtMTMuMDA5ODZdLCBbLTM4LjUxMzY1MTY2NjY2NjY3LCAtMTMuMDA5ODQxNjY2NjY2NjY3XSwgWy0zOC41MTM3NSwgLTEzLjAwOTgzXSwgWy0zOC41MTM4NDUsIC0xMy4wMDk3OTVdLCBbLTM4LjUxMzkyNSwgLTEzLjAwOTc3NV0sIFstMzguNTE0MDEsIC0xMy4wMDk3Nl0sIFstMzguNTE0MDg1LCAtMTMuMDA5NzM1XSwgWy0zOC41MTQxNzUsIC0xMy4wMDk3MV0sIFstMzguNTE0MjY2NjY2NjY2NjY0LCAtMTMuMDA5NjddLCBbLTM4LjUxNDM1MTY2NjY2NjY3LCAtMTMuMDA5NjQ1XSwgWy0zOC41MTQ0MjE2NjY2NjY2NjQsIC0xMy4wMDk2MDVdLCBbLTM4LjUxNDUsIC0xMy4wMDk1NzY2NjY2NjY2NjZdLCBbLTM4LjUxNDU5LCAtMTMuMDA5NTQ1XSwgWy0zOC41MTQ2OSwgLTEzLjAwOTUyXSwgWy0zOC41MTQ3OCwgLTEzLjAwOTUwNV0sIFstMzguNTE0ODU1LCAtMTMuMDA5NDldLCBbLTM4LjUxNDkzLCAtMTMuMDA5NDVdLCBbLTM4LjUxNDk5MTY2NjY2NjY3LCAtMTMuMDA5MzhdLCBbLTM4LjUxNTA0LCAtMTMuMDA5MzIxNjY2NjY2NjY3XSwgWy0zOC41MTUwOTE2NjY2NjY2NiwgLTEzLjAwOTI3XSwgWy0zOC41MTUxNTE2NjY2NjY2NywgLTEzLjAwOTIxXSwgWy0zOC41MTUyMDUsIC0xMy4wMDkxNDE2NjY2NjY2NjZdLCBbLTM4LjUxNTI2LCAtMTMuMDA5MDldLCBbLTM4LjUxNTMzLCAtMTMuMDA5MDI2NjY2NjY2NjY3XSwgWy0zOC41MTUzNzE2NjY2NjY2NywgLTEzLjAwODk3XSwgWy0zOC41MTU0MjUsIC0xMy4wMDg5MV0sIFstMzguNTE1NDc2NjY2NjY2NjY1LCAtMTMuMDA4ODVdLCBbLTM4LjUxNTU0NjY2NjY2NjY2NSwgLTEzLjAwODc5XSwgWy0zOC41MTU1OTY2NjY2NjY2NywgLTEzLjAwODczXSwgWy0zOC41MTU2NTUsIC0xMy4wMDg2OF0sIFstMzguNTE1NzIsIC0xMy4wMDg2M10sIFstMzguNTE1NzcxNjY2NjY2NjY2LCAtMTMuMDA4NTczMzMzMzMzMzMzXSwgWy0zOC41MTU4MywgLTEzLjAwODUyXSwgWy0zOC41MTU5MDUsIC0xMy4wMDg0NTE2NjY2NjY2NjZdLCBbLTM4LjUxNTk1MTY2NjY2NjY2NiwgLTEzLjAwODM3NjY2NjY2NjY2N10sIFstMzguNTE2MDExNjY2NjY2NjY0LCAtMTMuMDA4MzJdLCBbLTM4LjUxNjA2NjY2NjY2NjY3LCAtMTMuMDA4MjU1XSwgWy0zOC41MTYxMzE2NjY2NjY2NjYsIC0xMy4wMDgyXSwgWy0zOC41MTYyMSwgLTEzLjAwODE1NV0sIFstMzguNTE2MjgsIC0xMy4wMDgxMDVdLCBbLTM4LjUxNjM2NSwgLTEzLjAwODA2XSwgWy0zOC41MTY0MzUsIC0xMy4wMDgwM10sIFstMzguNTE2NTEsIC0xMy4wMDhdLCBbLTM4LjUxNjU5NSwgLTEzLjAwNzk4NV0sIFstMzguNTE2NjcsIC0xMy4wMDc5NTVdLCBbLTM4LjUxNjc1MTY2NjY2NjY2NCwgLTEzLjAwNzkyNjY2NjY2NjY2Nl0sIFstMzguNTE2ODMsIC0xMy4wMDc5MDVdLCBbLTM4LjUxNjkwNSwgLTEzLjAwNzg4MTY2NjY2NjY2Nl0sIFstMzguNTE2OTgsIC0xMy4wMDc4N10sIFstMzguNTE3MDUxNjY2NjY2NjcsIC0xMy4wMDc5MDVdLCBbLTM4LjUxNzEzODMzMzMzMzMzNSwgLTEzLjAwNzk0XSwgWy0zOC41MTcyMTUsIC0xMy4wMDc5NTVdLCBbLTM4LjUxNzMxNSwgLTEzLjAwNzk2XSwgWy0zOC41MTczOTUsIC0xMy4wMDc5NF0sIFstMzguNTE3NDcsIC0xMy4wMDc5NDVdLCBbLTM4LjUxNzU1LCAtMTMuMDA3OTU2NjY2NjY2NjY3XSwgWy0zOC41MTc2NDUsIC0xMy4wMDc5Nl0sIFstMzguNTE3NzIsIC0xMy4wMDc5NF0sIFstMzguNTE3Nzk1LCAtMTMuMDA3OTM2NjY2NjY2NjY2XSwgWy0zOC41MTc4ODUsIC0xMy4wMDc5NjE2NjY2NjY2NjddLCBbLTM4LjUxNzk2LCAtMTMuMDA3OTc1XSwgWy0zOC41MTgwMzUsIC0xMy4wMDc5ODVdLCBbLTM4LjUxODEyLCAtMTMuMDA3OTg1XSwgWy0zOC41MTgxOTUsIC0xMy4wMDc5OTY2NjY2NjY2NjddLCBbLTM4LjUxODI5LCAtMTMuMDA4XSwgWy0zOC41MTgzNjE2NjY2NjY2NjQsIC0xMy4wMDgwMDE2NjY2NjY2NjddLCBbLTM4LjUxODQ1NSwgLTEzLjAwNzk5XSwgWy0zOC41MTg1NDUsIC0xMy4wMDc5NzVdLCBbLTM4LjUxODYyNSwgLTEzLjAwNzk3XSwgWy0zOC41MTg3MDY2NjY2NjY2NywgLTEzLjAwNzk2NjY2NjY2NjY2Nl0sIFstMzguNTE4Nzg1LCAtMTMuMDA3OTY1XSwgWy0zOC41MTg4NiwgLTEzLjAwNzk2NV0sIFstMzguNTE4OTUxNjY2NjY2NjY2LCAtMTMuMDA3OTY2NjY2NjY2NjY2XSwgWy0zOC41MTkwMzE2NjY2NjY2NiwgLTEzLjAwNzk1NV0sIFstMzguNTE5MTI1LCAtMTMuMDA3OTU1XSwgWy0zOC41MTkyMTE2NjY2NjY2NiwgLTEzLjAwNzk5NV0sIFstMzguNTE5MjksIC0xMy4wMDhdLCBbLTM4LjUxOTM4NSwgLTEzLjAwODAzXSwgWy0zOC41MTk0NTE2NjY2NjY2NywgLTEzLjAwODA2XSwgWy0zOC41MTk1MTUsIC0xMy4wMDgxMDE2NjY2NjY2NjddLCBbLTM4LjUxOTU5NSwgLTEzLjAwODE1XSwgWy0zOC41MTk2NzUsIC0xMy4wMDgyXSwgWy0zOC41MTk3NTUsIC0xMy4wMDgyNV0sIFstMzguNTE5ODM1LCAtMTMuMDA4MzFdLCBbLTM4LjUxOTksIC0xMy4wMDgzNzVdLCBbLTM4LjUxOTk3MTY2NjY2NjY2LCAtMTMuMDA4NDMxNjY2NjY2NjY3XSwgWy0zOC41MjAwNCwgLTEzLjAwODQ5NjY2NjY2NjY2Nl0sIFstMzguNTIwMSwgLTEzLjAwODU2NV0sIFstMzguNTIwMTc1LCAtMTMuMDA4NjI1XSwgWy0zOC41MjAyMzY2NjY2NjY2NywgLTEzLjAwODY3MTY2NjY2NjY2Nl0sIFstMzguNTIwMjk1LCAtMTMuMDA4NzNdLCBbLTM4LjUyMDM1NSwgLTEzLjAwODc4MTY2NjY2NjY2Nl0sIFstMzguNTIwNDIsIC0xMy4wMDg4MzY2NjY2NjY2NjddLCBbLTM4LjUyMDQ3MzMzMzMzMzMzNSwgLTEzLjAwODg5XSwgWy0zOC41MjA1NCwgLTEzLjAwODkzMTY2NjY2NjY2N10sIFstMzguNTIwNTk1LCAtMTMuMDA4OTg4MzMzMzMzMzMzXSwgWy0zOC41MjA2NiwgLTEzLjAwOTA0MTY2NjY2NjY2N10sIFstMzguNTIwNzE1LCAtMTMuMDA5MDk1XSwgWy0zOC41MjA3NzY2NjY2NjY2NywgLTEzLjAwOTE1NV0sIFstMzguNTIwODM1LCAtMTMuMDA5MjA2NjY2NjY2NjY3XSwgWy0zOC41MjA5LCAtMTMuMDA5MjYxNjY2NjY2NjY3XSwgWy0zOC41MjA5NjUsIC0xMy4wMDkzMV0sIFstMzguNTIxMDM1LCAtMTMuMDA5MzddLCBbLTM4LjUyMTA5LCAtMTMuMDA5NDI1XSwgWy0zOC41MjExNjUsIC0xMy4wMDk0ODE2NjY2NjY2NjZdLCBbLTM4LjUyMTI0NSwgLTEzLjAwOTUzNjY2NjY2NjY2N10sIFstMzguNTIxMzE1LCAtMTMuMDA5NTk2NjY2NjY2NjY3XSwgWy0zOC41MjEzNywgLTEzLjAwOTY1XSwgWy0zOC41MjE0MiwgLTEzLjAwOTcwNV0sIFstMzguNTIxNDk1LCAtMTMuMDA5NzZdLCBbLTM4LjUyMTU2LCAtMTMuMDA5OF0sIFstMzguNTIxNjI4MzMzMzMzMzMsIC0xMy4wMDk4MzVdLCBbLTM4LjUyMTY5NjY2NjY2NjY2NCwgLTEzLjAwOTg3XSwgWy0zOC41MjE3NjE2NjY2NjY2NywgLTEzLjAwOTkxXSwgWy0zOC41MjE4NDY2NjY2NjY2NywgLTEzLjAwOTk1NV0sIFstMzguNTIxOTIzMzMzMzMzMzMsIC0xMy4wMDk5OV0sIFstMzguNTIyMDA1LCAtMTMuMDEwMDFdLCBbLTM4LjUyMjA4NSwgLTEzLjAxMDAyNV0sIFstMzguNTIyMTcsIC0xMy4wMTAwNDE2NjY2NjY2NjZdLCBbLTM4LjUyMjI0MTY2NjY2NjY2NiwgLTEzLjAxMDA2XSwgWy0zOC41MjIzMywgLTEzLjAxMDA4NV0sIFstMzguNTIyNDE1LCAtMTMuMDEwMTA1XSwgWy0zOC41MjI0OTY2NjY2NjY2NywgLTEzLjAxMDEzXSwgWy0zOC41MjI1ODY2NjY2NjY2NywgLTEzLjAxMDE2XSwgWy0zOC41MjI2NzUsIC0xMy4wMTAxOF0sIFstMzguNTIyNzYsIC0xMy4wMTAyMV0sIFstMzguNTIyODU1LCAtMTMuMDEwMjNdLCBbLTM4LjUyMjk0NSwgLTEzLjAxMDI1NV0sIFstMzguNTIzMDQsIC0xMy4wMTAyNjE2NjY2NjY2NjddLCBbLTM4LjUyMzExNSwgLTEzLjAxMDI2MTY2NjY2NjY2N10sIFstMzguNTIzMjA2NjY2NjY2NjcsIC0xMy4wMTAyNjVdLCBbLTM4LjUyMzI4NSwgLTEzLjAxMDI2NV0sIFstMzguNTIzMzY1LCAtMTMuMDEwMjY1XSwgWy0zOC41MjM0NTE2NjY2NjY2NjYsIC0xMy4wMTAyNTE2NjY2NjY2NjddLCBbLTM4LjUyMzUyNSwgLTEzLjAxMDIzMTY2NjY2NjY2Nl0sIFstMzguNTIzNjEsIC0xMy4wMTAyMTVdLCBbLTM4LjUyMzY5LCAtMTMuMDEwMTk2NjY2NjY2NjY3XSwgWy0zOC41MjM3NiwgLTEzLjAxMDE3XSwgWy0zOC41MjM4NDUsIC0xMy4wMTAxMzY2NjY2NjY2NjZdLCBbLTM4LjUyMzkxNSwgLTEzLjAxMDEwNjY2NjY2NjY2N10sIFstMzguNTIzOTg1LCAtMTMuMDEwMDddLCBbLTM4LjUyNDA1NSwgLTEzLjAxMDAyXSwgWy0zOC41MjQxMTY2NjY2NjY2NjQsIC0xMy4wMDk5NzY2NjY2NjY2NjddLCBbLTM4LjUyNDE4ODMzMzMzMzMzNSwgLTEzLjAwOTkyNV0sIFstMzguNTI0MjY1LCAtMTMuMDA5ODc1XSwgWy0zOC41MjQzNDE2NjY2NjY2NjUsIC0xMy4wMDk4M10sIFstMzguNTI0NDEzMzMzMzMzMzM1LCAtMTMuMDA5NzgxNjY2NjY2NjY3XSwgWy0zOC41MjQ0OTUsIC0xMy4wMDk3MzVdLCBbLTM4LjUyNDU3NjY2NjY2NjY3LCAtMTMuMDA5NzFdLCBbLTM4LjUyNDY1NSwgLTEzLjAwOTY4NV0sIFstMzguNTI0NzM1LCAtMTMuMDA5NjQ2NjY2NjY2NjY3XSwgWy0zOC41MjQ4MDE2NjY2NjY2NywgLTEzLjAwOTYxNV0sIFstMzguNTI0ODc4MzMzMzMzMzM0LCAtMTMuMDA5NTg1XSwgWy0zOC41MjQ5NjE2NjY2NjY2NywgLTEzLjAwOTU1MTY2NjY2NjY2N10sIFstMzguNTI1MDQsIC0xMy4wMDk1MTVdLCBbLTM4LjUyNTEwMzMzMzMzMzMzNCwgLTEzLjAwOTQ3NV0sIFstMzguNTI1MTkxNjY2NjY2NjY1LCAtMTMuMDA5NDRdLCBbLTM4LjUyNTI3NSwgLTEzLjAwOTQwODMzMzMzMzMzM10sIFstMzguNTI1MzQ1LCAtMTMuMDA5MzldLCBbLTM4LjUyNTQzLCAtMTMuMDA5MzddLCBbLTM4LjUyNTUxNSwgLTEzLjAwOTM0ODMzMzMzMzMzNF0sIFstMzguNTI1NiwgLTEzLjAwOTM0NV0sIFstMzguNTI1Njc1LCAtMTMuMDA5MzU2NjY2NjY2NjY3XSwgWy0zOC41MjU3NSwgLTEzLjAwOTM3MTY2NjY2NjY2N10sIFstMzguNTI1ODQxNjY2NjY2NjY1LCAtMTMuMDA5Mzc1XSwgWy0zOC41MjU5NCwgLTEzLjAwOTM2XSwgWy0zOC41MjYwMjUsIC0xMy4wMDkzNDY2NjY2NjY2NjhdLCBbLTM4LjUyNjEyNjY2NjY2NjY3LCAtMTMuMDA5MzUxNjY2NjY2NjY3XSwgWy0zOC41MjYyMDE2NjY2NjY2NjUsIC0xMy4wMDkzNTE2NjY2NjY2NjddLCBbLTM4LjUyNjI4NSwgLTEzLjAwOTM2XSwgWy0zOC41MjYzODE2NjY2NjY2NjYsIC0xMy4wMDkzNzMzMzMzMzMzMzNdLCBbLTM4LjUyNjQ2ODMzMzMzMzMzNCwgLTEzLjAwOTM5NV0sIFstMzguNTI2NTY1LCAtMTMuMDA5NDAxNjY2NjY2NjY3XSwgWy0zOC41MjY2NTUsIC0xMy4wMDk0MDgzMzMzMzMzMzNdLCBbLTM4LjUyNjc1NSwgLTEzLjAwOTQxNV0sIFstMzguNTI2ODQsIC0xMy4wMDk0MjE2NjY2NjY2NjZdLCBbLTM4LjUyNjkyNSwgLTEzLjAwOTQxNV0sIFstMzguNTI3MDI1LCAtMTMuMDA5NDFdLCBbLTM4LjUyNzEwNSwgLTEzLjAwOTQyXSwgWy0zOC41MjcxOSwgLTEzLjAwOTQyNV0sIFstMzguNTI3MjcsIC0xMy4wMDk0MjVdLCBbLTM4LjUyNzM1LCAtMTMuMDA5NDM1XSwgWy0zOC41Mjc0MywgLTEzLjAwOTQ1NV0sIFstMzguNTI3NTExNjY2NjY2NjcsIC0xMy4wMDk0NzVdLCBbLTM4LjUyNzYsIC0xMy4wMDk0OTVdLCBbLTM4LjUyNzcsIC0xMy4wMDk1MTE2NjY2NjY2NjddLCBbLTM4LjUyNzc5MTY2NjY2NjY2NiwgLTEzLjAwOTUzXSwgWy0zOC41Mjc4NzUsIC0xMy4wMDk1NDVdLCBbLTM4LjUyNzk1NSwgLTEzLjAwOTU0MTY2NjY2NjY2N10sIFstMzguNTI4MDM1LCAtMTMuMDA5NTVdLCBbLTM4LjUyODEzNSwgLTEzLjAwOTU3NV0sIFstMzguNTI4MjIsIC0xMy4wMDk1OTE2NjY2NjY2NjddLCBbLTM4LjUyODMxNSwgLTEzLjAwOTYwNjY2NjY2NjY2N10sIFstMzguNTI4NCwgLTEzLjAwOTYyXSwgWy0zOC41Mjg0OCwgLTEzLjAwOTYzXSwgWy0zOC41Mjg1NzUwMDAwMDAwMDQsIC0xMy4wMDk2NV0sIFstMzguNTI4NjYxNjY2NjY2NjY1LCAtMTMuMDA5NjZdLCBbLTM4LjUyODc2LCAtMTMuMDA5NjYxNjY2NjY2NjY2XSwgWy0zOC41Mjg4NTUsIC0xMy4wMDk2N10sIFstMzguNTI4OTUsIC0xMy4wMDk2ODVdLCBbLTM4LjUyOTAzLCAtMTMuMDA5NjldLCBbLTM4LjUyOTExLCAtMTMuMDA5NjkxNjY2NjY2NjY3XSwgWy0zOC41MjkxODMzMzMzMzMzMzYsIC0xMy4wMDk3MDVdLCBbLTM4LjUyOTI2MTY2NjY2NjY2LCAtMTMuMDA5NzJdLCBbLTM4LjUyOTMzODMzMzMzMzMzNSwgLTEzLjAwOTcyODMzMzMzMzMzM10sIFstMzguNTI5NDI1LCAtMTMuMDA5NzI1XSwgWy0zOC41Mjk1LCAtMTMuMDA5NzRdLCBbLTM4LjUyOTU5LCAtMTMuMDA5NzU1XSwgWy0zOC41Mjk2ODUsIC0xMy4wMDk3NjVdLCBbLTM4LjUyOTc3LCAtMTMuMDA5NzY1XSwgWy0zOC41Mjk4NTUsIC0xMy4wMDk3OF0sIFstMzguNTI5OTQzMzMzMzMzMzM1LCAtMTMuMDA5Nzk1XSwgWy0zOC41MzAwMzUsIC0xMy4wMDk4MDY2NjY2NjY2NjZdLCBbLTM4LjUzMDEyLCAtMTMuMDA5ODIxNjY2NjY2NjY3XSwgWy0zOC41MzAxOTUsIC0xMy4wMDk4MzY2NjY2NjY2NjddLCBbLTM4LjUzMDI4LCAtMTMuMDA5ODU1XSwgWy0zOC41MzAzNjE2NjY2NjY2NjQsIC0xMy4wMDk4NjVdLCBbLTM4LjUzMDQ2LCAtMTMuMDA5ODddLCBbLTM4LjUzMDUzNSwgLTEzLjAwOTg4MTY2NjY2NjY2N10sIFstMzguNTMwNjMxNjY2NjY2NjY1LCAtMTMuMDA5ODg1XSwgWy0zOC41MzA3MTUsIC0xMy4wMDk4OV0sIFstMzguNTMwOCwgLTEzLjAwOTkxXSwgWy0zOC41MzA4OCwgLTEzLjAwOTkxODMzMzMzMzMzM10sIFstMzguNTMwOTcxNjY2NjY2NjY2LCAtMTMuMDA5OTNdLCBbLTM4LjUzMTA1NSwgLTEzLjAwOTkzMTY2NjY2NjY2N10sIFstMzguNTMxMTQsIC0xMy4wMDk5NF0sIFstMzguNTMxMjIsIC0xMy4wMDk5NV0sIFstMzguNTMxMjk1LCAtMTMuMDA5OTY1XSwgWy0zOC41MzEzODUsIC0xMy4wMDk5OF0sIFstMzguNTMxNDcsIC0xMy4wMDk5OF0sIFstMzguNTMxNTQ2NjY2NjY2NjY0LCAtMTMuMDA5OTldLCBbLTM4LjUzMTYzNjY2NjY2NjY2NCwgLTEzLjAxMDAwNjY2NjY2NjY2N10sIFstMzguNTMxNzMsIC0xMy4wMTAwMl0sIFstMzguNTMxODA1LCAtMTMuMDA5OThdLCBbLTM4LjUzMTgzODMzMzMzMzMzLCAtMTMuMDA5OTA1XSwgWy0zOC41MzE4NTUsIC0xMy4wMDk4M10sIFstMzguNTMxODc2NjY2NjY2NjcsIC0xMy4wMDk3MzVdLCBbLTM4LjUzMTkwMTY2NjY2NjY3LCAtMTMuMDA5NjYxNjY2NjY2NjY2XSwgWy0zOC41MzE5MzE2NjY2NjY2NjUsIC0xMy4wMDk1OV0sIFstMzguNTMxOTY2NjY2NjY2NjcsIC0xMy4wMDk1Ml0sIFstMzguNTMyMDQ1LCAtMTMuMDA5NV0sIFstMzguNTMyMDY4MzMzMzMzMzM1LCAtMTMuMDA5NTk1XSwgWy0zOC41MzIwNzE2NjY2NjY2NywgLTEzLjAwOTY3MTY2NjY2NjY2Nl0sIFstMzguNTMyMDUsIC0xMy4wMDk3NjVdLCBbLTM4LjUzMjAyLCAtMTMuMDA5ODM2NjY2NjY2NjY3XSwgWy0zOC41MzE5OCwgLTEzLjAwOTldLCBbLTM4LjUzMTkzNSwgLTEzLjAwOTk2XSwgWy0zOC41MzE4NywgLTEzLjAxMDAzNV0sIFstMzguNTMxODA1LCAtMTMuMDEwMDg2NjY2NjY2NjY2XSwgWy0zOC41MzE3MjY2NjY2NjY2NjQsIC0xMy4wMTAxMTE2NjY2NjY2NjddLCBbLTM4LjUzMTY0NjY2NjY2NjY3LCAtMTMuMDEwMTJdLCBbLTM4LjUzMTU3MTY2NjY2NjY2NSwgLTEzLjAxMDEyXSwgWy0zOC41MzE1LCAtMTMuMDEwMTAxNjY2NjY2NjY3XSwgWy0zOC41MzE0MywgLTEzLjAxMDA3MTY2NjY2NjY2N10sIFstMzguNTMxMzM1LCAtMTMuMDEwMDVdLCBbLTM4LjUzMTI1LCAtMTMuMDEwMDI1XSwgWy0zOC41MzExNjY2NjY2NjY2NjQsIC0xMy4wMTAwMV0sIFstMzguNTMxMDc4MzMzMzMzMzMsIC0xMy4wMDk5OTY2NjY2NjY2NjZdLCBbLTM4LjUzMDk5NSwgLTEzLjAwOTk5XSwgWy0zOC41MzA5MSwgLTEzLjAwOTk4NV0sIFstMzguNTMwODE1LCAtMTMuMDA5OThdLCBbLTM4LjUzMDcxNjY2NjY2NjY2LCAtMTMuMDA5OTddLCBbLTM4LjUzMDYzLCAtMTMuMDA5OTU1XSwgWy0zOC41MzA1NDUsIC0xMy4wMDk5NF0sIFstMzguNTMwNDcsIC0xMy4wMDk5M10sIFstMzguNTMwMzk1LCAtMTMuMDA5OTI1XSwgWy0zOC41MzAzMDUsIC0xMy4wMDk5MTY2NjY2NjY2NjddLCBbLTM4LjUzMDIzMTY2NjY2NjY2NiwgLTEzLjAwOTkxXSwgWy0zOC41MzAxNSwgLTEzLjAwOTldLCBbLTM4LjUzMDA2LCAtMTMuMDA5ODgxNjY2NjY2NjY3XSwgWy0zOC41Mjk5NzY2NjY2NjY2NywgLTEzLjAwOTg2NjY2NjY2NjY2N10sIFstMzguNTI5ODk2NjY2NjY2NjY2LCAtMTMuMDA5ODVdLCBbLTM4LjUyOTgwNjY2NjY2NjY2NiwgLTEzLjAwOTg0XSwgWy0zOC41Mjk3MTY2NjY2NjY2NjYsIC0xMy4wMDk4MjMzMzMzMzMzMzNdLCBbLTM4LjUyOTYzNSwgLTEzLjAwOTgwNV0sIFstMzguNTI5NTU1LCAtMTMuMDA5OF0sIFstMzguNTI5NDcsIC0xMy4wMDk4MDVdLCBbLTM4LjUyOTM5NSwgLTEzLjAwOTc5NV0sIFstMzguNTI5MzEsIC0xMy4wMDk3ODY2NjY2NjY2NjddLCBbLTM4LjUyOTIzNSwgLTEzLjAwOThdLCBbLTM4LjUyOTEzNSwgLTEzLjAwOTc5NV0sIFstMzguNTI5MDQxNjY2NjY2NjY0LCAtMTMuMDA5Nzc2NjY2NjY2NjY3XSwgWy0zOC41Mjg5NzE2NjY2NjY2NiwgLTEzLjAwOTc2XSwgWy0zOC41Mjg4ODMzMzMzMzMzMywgLTEzLjAwOTc0NV0sIFstMzguNTI4NzksIC0xMy4wMDk3MjgzMzMzMzMzMzNdLCBbLTM4LjUyODcwNSwgLTEzLjAwOTcyXSwgWy0zOC41Mjg2MywgLTEzLjAwOTcxMTY2NjY2NjY2Nl0sIFstMzguNTI4NTQsIC0xMy4wMDk3XSwgWy0zOC41Mjg0NTUsIC0xMy4wMDk2ODVdLCBbLTM4LjUyODM2MTY2NjY2NjY3LCAtMTMuMDA5Njc1XSwgWy0zOC41MjgyNzUsIC0xMy4wMDk2Nl0sIFstMzguNTI4MTksIC0xMy4wMDk2NTE2NjY2NjY2NjddLCBbLTM4LjUyODExNjY2NjY2NjY3LCAtMTMuMDA5NjVdLCBbLTM4LjUyODAyNSwgLTEzLjAwOTYzMTY2NjY2NjY2N10sIFstMzguNTI3OTMsIC0xMy4wMDk2MTE2NjY2NjY2NjZdLCBbLTM4LjUyNzg0MTY2NjY2NjY3LCAtMTMuMDA5NjA1XSwgWy0zOC41Mjc3NTUsIC0xMy4wMDk2XSwgWy0zOC41Mjc2NzMzMzMzMzMzMywgLTEzLjAwOTU5NjY2NjY2NjY2N10sIFstMzguNTI3NTg1LCAtMTMuMDA5NTldLCBbLTM4LjUyNzQ5NSwgLTEzLjAwOTU3XSwgWy0zOC41Mjc0MSwgLTEzLjAwOTU1NV0sIFstMzguNTI3MzIxNjY2NjY2NjY2LCAtMTMuMDA5NTQ1XSwgWy0zOC41MjcyMywgLTEzLjAwOTUzNV0sIFstMzguNTI3MTQxNjY2NjY2NjY1LCAtMTMuMDA5NTE1XSwgWy0zOC41MjcwNiwgLTEzLjAwOTQ5MTY2NjY2NjY2N10sIFstMzguNTI2OTY1LCAtMTMuMDA5NDUxNjY2NjY2NjY3XSwgWy0zOC41MjY4NywgLTEzLjAwOTQzNV0sIFstMzguNTI2NzgxNjY2NjY2NjY1LCAtMTMuMDA5NDE1XSwgWy0zOC41MjY3MDUsIC0xMy4wMDkzOV0sIFstMzguNTI2NjMsIC0xMy4wMDkzOF0sIFstMzguNTI2NTQ1LCAtMTMuMDA5MzhdLCBbLTM4LjUyNjQ2LCAtMTMuMDA5MzhdLCBbLTM4LjUyNjM3NjY2NjY2NjY2NCwgLTEzLjAwOTM5XSwgWy0zOC41MjYyODUsIC0xMy4wMDkzOV0sIFstMzguNTI2MTk2NjY2NjY2NjY0LCAtMTMuMDA5Mzc1XSwgWy0zOC41MjYxMSwgLTEzLjAwOTM2NV0sIFstMzguNTI2MDMsIC0xMy4wMDkzNDY2NjY2NjY2NjhdLCBbLTM4LjUyNTk0NjY2NjY2NjY3LCAtMTMuMDA5MzZdLCBbLTM4LjUyNTg2NSwgLTEzLjAwOTM3NV0sIFstMzguNTI1NzksIC0xMy4wMDkzNzY2NjY2NjY2NjZdLCBbLTM4LjUyNTcwMTY2NjY2NjY3LCAtMTMuMDA5MzhdLCBbLTM4LjUyNTYxNSwgLTEzLjAwOTM2NjY2NjY2NjY2N10sIFstMzguNTI1NTMsIC0xMy4wMDkzNjgzMzMzMzMzMzNdLCBbLTM4LjUyNTQ1NSwgLTEzLjAwOTM2NjY2NjY2NjY2N10sIFstMzguNTI1MzcsIC0xMy4wMDkzODVdLCBbLTM4LjUyNTI5NSwgLTEzLjAwOTQyXSwgWy0zOC41MjUyMiwgLTEzLjAwOTQ2XSwgWy0zOC41MjUxMzUsIC0xMy4wMDk0ODVdLCBbLTM4LjUyNTA2LCAtMTMuMDA5NTA1XSwgWy0zOC41MjQ5ODUsIC0xMy4wMDk1MzVdLCBbLTM4LjUyNDkwMTY2NjY2NjY2NSwgLTEzLjAwOTU1NV0sIFstMzguNTI0ODE1LCAtMTMuMDA5NTc2NjY2NjY2NjY2XSwgWy0zOC41MjQ3NDUsIC0xMy4wMDk2MV0sIFstMzguNTI0NjcsIC0xMy4wMDk2NDVdLCBbLTM4LjUyNDYsIC0xMy4wMDk2NzE2NjY2NjY2NjZdLCBbLTM4LjUyNDUyMTY2NjY2NjY2NSwgLTEzLjAwOTcyXSwgWy0zOC41MjQ0NTUsIC0xMy4wMDk3N10sIFstMzguNTI0MzksIC0xMy4wMDk4MjY2NjY2NjY2NjddLCBbLTM4LjUyNDMzLCAtMTMuMDA5ODc1XSwgWy0zOC41MjQyNjUsIC0xMy4wMDk5MTVdLCBbLTM4LjUyNDE5MTY2NjY2NjY3LCAtMTMuMDA5OTU1XSwgWy0zOC41MjQxMDE2NjY2NjY2NywgLTEzLjAwOTk5XSwgWy0zOC41MjQwMTUsIC0xMy4wMTAwMTY2NjY2NjY2NjddLCBbLTM4LjUyMzk0LCAtMTMuMDEwMDVdLCBbLTM4LjUyMzg2MTY2NjY2NjY3LCAtMTMuMDEwMDkxNjY2NjY2NjY2XSwgWy0zOC41MjM3OTUsIC0xMy4wMTAxMzE2NjY2NjY2NjZdLCBbLTM4LjUyMzcwNSwgLTEzLjAxMDE2XSwgWy0zOC41MjM2MywgLTEzLjAxMDE5XSwgWy0zOC41MjM1NiwgLTEzLjAxMDIxXSwgWy0zOC41MjM0ODUsIC0xMy4wMTAyMjY2NjY2NjY2NjZdLCBbLTM4LjUyMzQxLCAtMTMuMDEwMjQ1XSwgWy0zOC41MjMzMzUsIC0xMy4wMTAyNl0sIFstMzguNTIzMjYsIC0xMy4wMTAyN10sIFstMzguNTIzMTg1LCAtMTMuMDEwMjddLCBbLTM4LjUyMzEwNSwgLTEzLjAxMDI2NjY2NjY2NjY2Nl0sIFstMzguNTIzMDI1LCAtMTMuMDEwMjZdLCBbLTM4LjUyMjkzNSwgLTEzLjAxMDI0NV0sIFstMzguNTIyODYsIC0xMy4wMTAyM10sIFstMzguNTIyNzY1LCAtMTMuMDEwMTk1XSwgWy0zOC41MjI2OTUsIC0xMy4wMTAxNjVdLCBbLTM4LjUyMjYwNjY2NjY2NjY3LCAtMTMuMDEwMTRdLCBbLTM4LjUyMjUzNSwgLTEzLjAxMDExNV0sIFstMzguNTIyNDU1LCAtMTMuMDEwMV0sIFstMzguNTIyMzcxNjY2NjY2NjY1LCAtMTMuMDEwMDhdLCBbLTM4LjUyMjI5NSwgLTEzLjAxMDA2NV0sIFstMzguNTIyMjEsIC0xMy4wMTAwNF0sIFstMzguNTIyMTMsIC0xMy4wMTAwMjE2NjY2NjY2NjddLCBbLTM4LjUyMjA2LCAtMTMuMDA5OTk2NjY2NjY2NjY2XSwgWy0zOC41MjE5OCwgLTEzLjAwOTk2NV0sIFstMzguNTIxODk1LCAtMTMuMDA5OTM2NjY2NjY2NjY2XSwgWy0zOC41MjE4MiwgLTEzLjAwOTkxODMzMzMzMzMzM10sIFstMzguNTIxNzM1LCAtMTMuMDA5ODg1XSwgWy0zOC41MjE2NTUsIC0xMy4wMDk4NTE2NjY2NjY2NjZdLCBbLTM4LjUyMTU4LCAtMTMuMDA5ODI2NjY2NjY2NjY3XSwgWy0zOC41MjE1MTUsIC0xMy4wMDk3ODE2NjY2NjY2NjddLCBbLTM4LjUyMTQ0LCAtMTMuMDA5NzI2NjY2NjY2NjY3XSwgWy0zOC41MjEzOCwgLTEzLjAwOTY3XSwgWy0zOC41MjEzMywgLTEzLjAwOTYxNV0sIFstMzguNTIxMjU2NjY2NjY2NjY2LCAtMTMuMDA5NTU1XSwgWy0zOC41MjEyMDUsIC0xMy4wMDk1XSwgWy0zOC41MjExNCwgLTEzLjAwOTQ0MTY2NjY2NjY2N10sIFstMzguNTIxMDc1LCAtMTMuMDA5NDA1XSwgWy0zOC41MjEwMDE2NjY2NjY2NiwgLTEzLjAwOTM0ODMzMzMzMzMzNF0sIFstMzguNTIwOTMsIC0xMy4wMDkzXSwgWy0zOC41MjA4NTE2NjY2NjY2NjUsIC0xMy4wMDkyNTE2NjY2NjY2NjhdLCBbLTM4LjUyMDc4NjY2NjY2NjY2NiwgLTEzLjAwOTIxODMzMzMzMzMzM10sIFstMzguNTIwNzE1LCAtMTMuMDA5MTY2NjY2NjY2NjY3XSwgWy0zOC41MjA2NDUsIC0xMy4wMDkxMV0sIFstMzguNTIwNTgsIC0xMy4wMDkwNV0sIFstMzguNTIwNTIsIC0xMy4wMDg5OF0sIFstMzguNTIwNDcsIC0xMy4wMDg5MjVdLCBbLTM4LjUyMDM5NjY2NjY2NjY3LCAtMTMuMDA4ODU2NjY2NjY2NjY3XSwgWy0zOC41MjAzNCwgLTEzLjAwODhdLCBbLTM4LjUyMDI3MTY2NjY2NjY2NiwgLTEzLjAwODc0MTY2NjY2NjY2N10sIFstMzguNTIwMjA2NjY2NjY2NjcsIC0xMy4wMDg2NzVdLCBbLTM4LjUyMDE0NSwgLTEzLjAwODYxXSwgWy0zOC41MjAwNzUsIC0xMy4wMDg1NzE2NjY2NjY2NjddLCBbLTM4LjUyMDAwMTY2NjY2NjY2NiwgLTEzLjAwODUxNV0sIFstMzguNTE5OTE1LCAtMTMuMDA4NDY2NjY2NjY2NjY3XSwgWy0zOC41MTk4NSwgLTEzLjAwODQwNV0sIFstMzguNTE5Nzk2NjY2NjY2NjY0LCAtMTMuMDA4MzQ2NjY2NjY2NjY2XSwgWy0zOC41MTk3NCwgLTEzLjAwODNdLCBbLTM4LjUxOTY3NjY2NjY2NjY3LCAtMTMuMDA4MjU1XSwgWy0zOC41MTk2MDUsIC0xMy4wMDgyMTVdLCBbLTM4LjUxOTUzLCAtMTMuMDA4MTU1XSwgWy0zOC41MTk0NjUsIC0xMy4wMDgxMDMzMzMzMzMzMzNdLCBbLTM4LjUxOTM5NSwgLTEzLjAwODA2XSwgWy0zOC41MTkzMiwgLTEzLjAwODAyXSwgWy0zOC41MTkyNDE2NjY2NjY2NjYsIC0xMy4wMDc5OV0sIFstMzguNTE5MTgsIC0xMy4wMDc5NDVdLCBbLTM4LjUxOTEwODMzMzMzMzMzNSwgLTEzLjAwNzkxNV0sIFstMzguNTE5MDM2NjY2NjY2NjY1LCAtMTMuMDA3OTA1XSwgWy0zOC41MTg5NjUsIC0xMy4wMDc4OF0sIFstMzguNTE4ODcsIC0xMy4wMDc4N10sIFstMzguNTE4Nzk2NjY2NjY2NjcsIC0xMy4wMDc4Nl0sIFstMzguNTE4NzA1LCAtMTMuMDA3ODUxNjY2NjY2NjY3XSwgWy0zOC41MTg2MTUsIC0xMy4wMDc4NTMzMzMzMzMzMzNdLCBbLTM4LjUxODUyNSwgLTEzLjAwNzg4NV0sIFstMzguNTE4NDQ1LCAtMTMuMDA3OTA1XSwgWy0zOC41MTgzNywgLTEzLjAwNzkyXSwgWy0zOC41MTgyNzgzMzMzMzMzMzUsIC0xMy4wMDc5MzVdLCBbLTM4LjUxODIwNSwgLTEzLjAwNzkzXSwgWy0zOC41MTgxMTUsIC0xMy4wMDc5MV0sIFstMzguNTE4MDI1LCAtMTMuMDA3OTA4MzMzMzMzMzMzXSwgWy0zOC41MTc5MzUsIC0xMy4wMDc5MTE2NjY2NjY2NjddLCBbLTM4LjUxNzg1LCAtMTMuMDA3OTE1XSwgWy0zOC41MTc3NTE2NjY2NjY2NywgLTEzLjAwNzkxNV0sIFstMzguNTE3NjczMzMzMzMzMzM1LCAtMTMuMDA3OTNdLCBbLTM4LjUxNzU4LCAtMTMuMDA3OTM1XSwgWy0zOC41MTc1MSwgLTEzLjAwNzkwNjY2NjY2NjY2N10sIFstMzguNTE3NDI1LCAtMTMuMDA3ODc1XSwgWy0zOC41MTczMzY2NjY2NjY2NjUsIC0xMy4wMDc4NzVdLCBbLTM4LjUxNzI1LCAtMTMuMDA3OV0sIFstMzguNTE3MTYsIC0xMy4wMDc5MTE2NjY2NjY2NjddLCBbLTM4LjUxNzA2LCAtMTMuMDA3OTI1XSwgWy0zOC41MTY5NywgLTEzLjAwNzldLCBbLTM4LjUxNjg5LCAtMTMuMDA3ODhdLCBbLTM4LjUxNjgsIC0xMy4wMDc4NjVdLCBbLTM4LjUxNjcwNSwgLTEzLjAwNzg2MTY2NjY2NjY2N10sIFstMzguNTE2NjIsIC0xMy4wMDc4MzY2NjY2NjY2NjZdLCBbLTM4LjUxNjUzLCAtMTMuMDA3ODQ1XSwgWy0zOC41MTY0NSwgLTEzLjAwNzg3NV0sIFstMzguNTE2MzcsIC0xMy4wMDc5MTVdLCBbLTM4LjUxNjI3NjY2NjY2NjY3LCAtMTMuMDA3OTRdLCBbLTM4LjUxNjIwNSwgLTEzLjAwNzk2NV0sIFstMzguNTE2MTQ1LCAtMTMuMDA4MDE1XSwgWy0zOC41MTYwNzUsIC0xMy4wMDgwNl0sIFstMzguNTE1OTk2NjY2NjY2NjY2LCAtMTMuMDA4MDk1XSwgWy0zOC41MTU5NSwgLTEzLjAwODE1MTY2NjY2NjY2N10sIFstMzguNTE1OTEsIC0xMy4wMDgyMl0sIFstMzguNTE1ODU2NjY2NjY2NjY0LCAtMTMuMDA4Mjk1XSwgWy0zOC41MTU4MiwgLTEzLjAwODM2XSwgWy0zOC41MTU3NjUsIC0xMy4wMDg0MV0sIFstMzguNTE1NzEsIC0xMy4wMDg0OV0sIFstMzguNTE1Njc1LCAtMTMuMDA4NTUxNjY2NjY2NjY3XSwgWy0zOC41MTU2MzE2NjY2NjY2NjQsIC0xMy4wMDg2MjE2NjY2NjY2NjddLCBbLTM4LjUxNTU2LCAtMTMuMDA4NjYxNjY2NjY2NjY3XSwgWy0zOC41MTU1MDE2NjY2NjY2NjUsIC0xMy4wMDg3MjVdLCBbLTM4LjUxNTQ1LCAtMTMuMDA4NzkxNjY2NjY2NjY3XSwgWy0zOC41MTU0MDUsIC0xMy4wMDg4NTE2NjY2NjY2NjddLCBbLTM4LjUxNTM3LCAtMTMuMDA4OTJdLCBbLTM4LjUxNTMxNSwgLTEzLjAwODk4XSwgWy0zOC41MTUyOCwgLTEzLjAwOTA1NV0sIFstMzguNTE1MiwgLTEzLjAwOTFdLCBbLTM4LjUxNTExLCAtMTMuMDA5MTRdLCBbLTM4LjUxNTAzLCAtMTMuMDA5MTg1XSwgWy0zOC41MTQ5NjUsIC0xMy4wMDkyMzVdLCBbLTM4LjUxNDkwNjY2NjY2NjY3LCAtMTMuMDA5MjldLCBbLTM4LjUxNDgzNSwgLTEzLjAwOTMyNV0sIFstMzguNTE0NzUsIC0xMy4wMDkzNjVdLCBbLTM4LjUxNDY4MTY2NjY2NjY3LCAtMTMuMDA5NDE1XSwgWy0zOC41MTQ2MTE2NjY2NjY2NywgLTEzLjAwOTQ0MzMzMzMzMzMzM10sIFstMzguNTE0NTQsIC0xMy4wMDk0ODVdLCBbLTM4LjUxNDQ1MTY2NjY2NjY2NiwgLTEzLjAwOTUxXSwgWy0zOC41MTQzOCwgLTEzLjAwOTU0NV0sIFstMzguNTE0MzA1LCAtMTMuMDA5NTk1XSwgWy0zOC41MTQyMzUsIC0xMy4wMDk2M10sIFstMzguNTE0MTYsIC0xMy4wMDk2NDVdLCBbLTM4LjUxNDA3NjY2NjY2NjY3LCAtMTMuMDA5NjY1XSwgWy0zOC41MTM5ODUsIC0xMy4wMDk2OTVdLCBbLTM4LjUxMzg4NjY2NjY2NjY2NCwgLTEzLjAwOTcxXSwgWy0zOC41MTM4LCAtMTMuMDA5NzQ1XSwgWy0zOC41MTM3MTUsIC0xMy4wMDk3NjVdLCBbLTM4LjUxMzYzNSwgLTEzLjAwOTc4NV0sIFstMzguNTEzNTUsIC0xMy4wMDk4XSwgWy0zOC41MTM0NTY2NjY2NjY2NywgLTEzLjAwOTgxNV0sIFstMzguNTEzMzcxNjY2NjY2NjY0LCAtMTMuMDA5ODRdLCBbLTM4LjUxMzMsIC0xMy4wMDk4NTVdLCBbLTM4LjUxMzIxNjY2NjY2NjY2NSwgLTEzLjAwOTg5NV0sIFstMzguNTEzMTQ1LCAtMTMuMDA5OV0sIFstMzguNTEzMDU4MzMzMzMzMzMsIC0xMy4wMDk5MDVdLCBbLTM4LjUxMjk3LCAtMTMuMDA5OTFdLCBbLTM4LjUxMjg4NSwgLTEzLjAwOTkwMTY2NjY2NjY2Nl0sIFstMzguNTEyOCwgLTEzLjAwOTkwNV0sIFstMzguNTEyNzEsIC0xMy4wMDk5MTgzMzMzMzMzMzNdLCBbLTM4LjUxMjYzMTY2NjY2NjY2NCwgLTEzLjAwOTk1NV0sIFstMzguNTEyNTU2NjY2NjY2NjcsIC0xMy4wMDk5OV0sIFstMzguNTEyNDc2NjY2NjY2NjY0LCAtMTMuMDEwMDM2NjY2NjY2NjY2XSwgWy0zOC41MTI0MDE2NjY2NjY2NywgLTEzLjAxMDA3XSwgWy0zOC41MTIzMiwgLTEzLjAxMDA2ODMzMzMzMzMzM10sIFstMzguNTEyMjQsIC0xMy4wMTAwNjY2NjY2NjY2NjddLCBbLTM4LjUxMjE3NSwgLTEzLjAxMDA0XSwgWy0zOC41MTIxLCAtMTMuMDEwMDI1XSwgWy0zOC41MTIwMSwgLTEzLjAxMDAyNV0sIFstMzguNTExOTM1LCAtMTMuMDEwMDJdLCBbLTM4LjUxMTg0LCAtMTMuMDEwMDRdLCBbLTM4LjUxMTc1NjY2NjY2NjY2LCAtMTMuMDEwMDZdLCBbLTM4LjUxMTY3ODMzMzMzMzMzNiwgLTEzLjAxMDA2XSwgWy0zOC41MTE1OSwgLTEzLjAxMDA2XSwgWy0zOC41MTE1MTUsIC0xMy4wMTAxMl0sIFstMzguNTExNDQ1LCAtMTMuMDEwMTZdLCBbLTM4LjUxMTM2LCAtMTMuMDEwMTk1XSwgWy0zOC41MTEyOCwgLTEzLjAxMDIyXSwgWy0zOC41MTExODY2NjY2NjY2NywgLTEzLjAxMDIzODMzMzMzMzMzNF0sIFstMzguNTExMTI1LCAtMTMuMDEwMjk2NjY2NjY2NjY3XSwgWy0zOC41MTEwNSwgLTEzLjAxMDMyNjY2NjY2NjY2Nl0sIFstMzguNTEwOTcxNjY2NjY2NjcsIC0xMy4wMTAzMzY2NjY2NjY2NjddLCBbLTM4LjUxMDg5NSwgLTEzLjAxMDM1NjY2NjY2NjY2N10sIFstMzguNTEwODIsIC0xMy4wMTAzNzVdLCBbLTM4LjUxMDczMTY2NjY2NjY2NSwgLTEzLjAxMDM3NjY2NjY2NjY2Nl0sIFstMzguNTEwNjQ2NjY2NjY2NjY2LCAtMTMuMDEwMzk1XSwgWy0zOC41MTA1NiwgLTEzLjAxMDQxXSwgWy0zOC41MTA0OCwgLTEzLjAxMDQyXSwgWy0zOC41MTA0MDY2NjY2NjY2NywgLTEzLjAxMDQ0XSwgWy0zOC41MTAzMjUsIC0xMy4wMTA0Nl0sIFstMzguNTEwMjM2NjY2NjY2NjY0LCAtMTMuMDEwNDk1XSwgWy0zOC41MTAxNiwgLTEzLjAxMDUyMzMzMzMzMzMzM10sIFstMzguNTEwMDY2NjY2NjY2NjcsIC0xMy4wMTA1MjE2NjY2NjY2NjddLCBbLTM4LjUwOTk4NSwgLTEzLjAxMDUxNV0sIFstMzguNTA5ODksIC0xMy4wMTA1Ml0sIFstMzguNTA5ODE1LCAtMTMuMDEwNTIxNjY2NjY2NjY3XSwgWy0zOC41MDk3MzUsIC0xMy4wMTA1M10sIFstMzguNTA5NjYsIC0xMy4wMTA1MzY2NjY2NjY2NjddLCBbLTM4LjUwOTU4LCAtMTMuMDEwNTRdLCBbLTM4LjUwOTUwMTY2NjY2NjY2NSwgLTEzLjAxMDU0XSwgWy0zOC41MDk0MjUsIC0xMy4wMTA1NTVdLCBbLTM4LjUwOTM2MTY2NjY2NjY2LCAtMTMuMDEwNV0sIFstMzguNTA5MzUsIC0xMy4wMTA0MjVdLCBbLTM4LjUwOTI4LCAtMTMuMDEwMzUxNjY2NjY2NjY3XSwgWy0zOC41MDkyMiwgLTEzLjAxMDMwNV0sIFstMzguNTA5MjE1LCAtMTMuMDEwMjIxNjY2NjY2NjY2XSwgWy0zOC41MDkyMTUsIC0xMy4wMTAxM10sIFstMzguNTA5MjI1LCAtMTMuMDEwMDUxNjY2NjY2NjY3XSwgWy0zOC41MDkyMywgLTEzLjAwOTk3NjY2NjY2NjY2N10sIFstMzguNTA5MjE1LCAtMTMuMDA5OTA1XSwgWy0zOC41MDkyMywgLTEzLjAwOTgyXSwgWy0zOC41MDkxNjY2NjY2NjY2NjUsIC0xMy4wMDk3NV0sIFstMzguNTA5MTMsIC0xMy4wMDk2NjVdLCBbLTM4LjUwOTEzNjY2NjY2NjY3LCAtMTMuMDA5NThdLCBbLTM4LjUwOTE0MTY2NjY2NjY2NSwgLTEzLjAwOTQ5NV0sIFstMzguNTA5MTU1LCAtMTMuMDA5NDAxNjY2NjY2NjY3XSwgWy0zOC41MDkxNiwgLTEzLjAwOTMyNjY2NjY2NjY2Nl0sIFstMzguNTA5MTQ1LCAtMTMuMDA5MjVdLCBbLTM4LjUwOTEyNSwgLTEzLjAwOTE2NV0sIFstMzguNTA5MTIsIC0xMy4wMDkwOF0sIFstMzguNTA5MTIsIC0xMy4wMDg5OTE2NjY2NjY2NjddLCBbLTM4LjUwOTEzLCAtMTMuMDA4OTA1XSwgWy0zOC41MDkxNCwgLTEzLjAwODgyXSwgWy0zOC41MDkxNSwgLTEzLjAwODczMTY2NjY2NjY2Nl0sIFstMzguNTA5MTU2NjY2NjY2NjcsIC0xMy4wMDg2NDY2NjY2NjY2NjddLCBbLTM4LjUwOTE2LCAtMTMuMDA4NTczMzMzMzMzMzMzXSwgWy0zOC41MDkxNTY2NjY2NjY2NywgLTEzLjAwODQ5XSwgWy0zOC41MDkxNSwgLTEzLjAwODM5NV0sIFstMzguNTA5MTQsIC0xMy4wMDgzMTVdLCBbLTM4LjUwOTE0LCAtMTMuMDA4MjRdLCBbLTM4LjUwOTEzLCAtMTMuMDA4MTU1XSwgWy0zOC41MDkxNDUsIC0xMy4wMDgwN10sIFstMzguNTA5MTUxNjY2NjY2NjcsIC0xMy4wMDc5OTVdLCBbLTM4LjUwOTE0LCAtMTMuMDA3OTA1XSwgWy0zOC41MDkxMzUsIC0xMy4wMDc4Ml0sIFstMzguNTA5MTUxNjY2NjY2NjcsIC0xMy4wMDc3M10sIFstMzguNTA5MTUxNjY2NjY2NjcsIC0xMy4wMDc2NF0sIFstMzguNTA5MTU1LCAtMTMuMDA3NTZdLCBbLTM4LjUwOTE2LCAtMTMuMDA3NDhdLCBbLTM4LjUwOTE2NSwgLTEzLjAwNzM5MTY2NjY2NjY2N10sIFstMzguNTA5MTc1LCAtMTMuMDA3Mjk1XSwgWy0zOC41MDkxOCwgLTEzLjAwNzIyXSwgWy0zOC41MDkxOCwgLTEzLjAwNzE0XSwgWy0zOC41MDkxOCwgLTEzLjAwNzA2NV0sIFstMzguNTA5MTgsIC0xMy4wMDY5NzVdLCBbLTM4LjUwOTE3NjY2NjY2NjY3LCAtMTMuMDA2ODk2NjY2NjY2NjY2XSwgWy0zOC41MDkxOCwgLTEzLjAwNjgxXSwgWy0zOC41MDkxODE2NjY2NjY2NiwgLTEzLjAwNjcyXSwgWy0zOC41MDkxOCwgLTEzLjAwNjY0MzMzMzMzMzMzM10sIFstMzguNTA5MTgsIC0xMy4wMDY1Nl0sIFstMzguNTA5MTcsIC0xMy4wMDY0ODVdLCBbLTM4LjUwOTE2NSwgLTEzLjAwNjQwNV0sIFstMzguNTA5MTY1LCAtMTMuMDA2MzIxNjY2NjY2NjY3XSwgWy0zOC41MDkxNzY2NjY2NjY2NywgLTEzLjAwNjIzMTY2NjY2NjY2Nl0sIFstMzguNTA5MTc1LCAtMTMuMDA2MTU1XSwgWy0zOC41MDkxNCwgLTEzLjAwNjA2NV0sIFstMzguNTA5MTEsIC0xMy4wMDU5NzY2NjY2NjY2NjddLCBbLTM4LjUwOTA5NSwgLTEzLjAwNTkwNV0sIFstMzguNTA5MDk1LCAtMTMuMDA1ODNdLCBbLTM4LjUwOTExMTY2NjY2NjY3LCAtMTMuMDA1NzQ1XSwgWy0zOC41MDkxMzUsIC0xMy4wMDU2NzE2NjY2NjY2NjZdLCBbLTM4LjUwOTE0LCAtMTMuMDA1NTldLCBbLTM4LjUwOTE0NSwgLTEzLjAwNTUwMTY2NjY2NjY2N10sIFstMzguNTA5MTIxNjY2NjY2NjY1LCAtMTMuMDA1NDE1XSwgWy0zOC41MDkwNTUsIC0xMy4wMDUzNDVdLCBbLTM4LjUwODk3NSwgLTEzLjAwNTMzXSwgWy0zOC41MDg5NDUsIC0xMy4wMDUyNl0sIFstMzguNTA4OTEsIC0xMy4wMDUxODE2NjY2NjY2NjddLCBbLTM4LjUwODg4NSwgLTEzLjAwNTExNV0sIFstMzguNTA4ODU1LCAtMTMuMDA1MDNdLCBbLTM4LjUwODgyLCAtMTMuMDA0OTQ1XSwgWy0zOC41MDg4LCAtMTMuMDA0ODY1XSwgWy0zOC41MDg3NSwgLTEzLjAwNDc5NV0sIFstMzguNTA4Njg1LCAtMTMuMDA0NzM1XSwgWy0zOC41MDg2MjUsIC0xMy4wMDQ2N10sIFstMzguNTA4NTcsIC0xMy4wMDQ2MTMzMzMzMzMzMzNdLCBbLTM4LjUwODUxMzMzMzMzMzMzLCAtMTMuMDA0NTU1XSwgWy0zOC41MDg0NSwgLTEzLjAwNDQ5NV0sIFstMzguNTA4NCwgLTEzLjAwNDQ0XSwgWy0zOC41MDgzMzUsIC0xMy4wMDQzODVdLCBbLTM4LjUwODI3MzMzMzMzMzMzNSwgLTEzLjAwNDMyNV0sIFstMzguNTA4MjE1LCAtMTMuMDA0MjZdLCBbLTM4LjUwODE2NSwgLTEzLjAwNDE5NV0sIFstMzguNTA4MSwgLTEzLjAwNDEzXSwgWy0zOC41MDgwNDUsIC0xMy4wMDQwNzVdLCBbLTM4LjUwNzk5LCAtMTMuMDA0MDAxNjY2NjY2NjY3XSwgWy0zOC41MDc5MTUsIC0xMy4wMDM5NF0sIFstMzguNTA3ODUsIC0xMy4wMDM4OV0sIFstMzguNTA3Nzk1LCAtMTMuMDAzODI1XSwgWy0zOC41MDc3MzUsIC0xMy4wMDM3NzVdLCBbLTM4LjUwNzY5LCAtMTMuMDAzNzE1XSwgWy0zOC41MDc2NCwgLTEzLjAwMzY1NV0sIFstMzguNTA3NTcsIC0xMy4wMDM2MDVdLCBbLTM4LjUwNzUwNSwgLTEzLjAwMzU0NV0sIFstMzguNTA3NDMxNjY2NjY2NjcsIC0xMy4wMDM0OTVdLCBbLTM4LjUwNzM1NjY2NjY2NjY3LCAtMTMuMDAzNDQ1XSwgWy0zOC41MDczMjUsIC0xMy4wMDMzNzVdLCBbLTM4LjUwNzMsIC0xMy4wMDMzXSwgWy0zOC41MDcyNTY2NjY2NjY2NiwgLTEzLjAwMzI0XSwgWy0zOC41MDcxOTUsIC0xMy4wMDMxNzY2NjY2NjY2NjddLCBbLTM4LjUwNzE0LCAtMTMuMDAzMTI2NjY2NjY2NjY3XSwgWy0zOC41MDcwODUwMDAwMDAwMDQsIC0xMy4wMDMwN10sIFstMzguNTA3MDA1LCAtMTMuMDAzMDI2NjY2NjY2NjY3XSwgWy0zOC41MDY5NSwgLTEzLjAwMjk2NjY2NjY2NjY2N10sIFstMzguNTA2OSwgLTEzLjAwMjkxNV0sIFstMzguNTA2ODUxNjY2NjY2NjcsIC0xMy4wMDI4Nl0sIFstMzguNTA2Nzk1LCAtMTMuMDAyNzldLCBbLTM4LjUwNjcyLCAtMTMuMDAyNzM2NjY2NjY2NjY3XSwgWy0zOC41MDY2NSwgLTEzLjAwMjY4MTY2NjY2NjY2Nl0sIFstMzguNTA2NTc1LCAtMTMuMDAyNjFdLCBbLTM4LjUwNjUsIC0xMy4wMDI1NjVdLCBbLTM4LjUwNjQzLCAtMTMuMDAyNV0sIFstMzguNTA2MzcsIC0xMy4wMDI0M10sIFstMzguNTA2MzE1LCAtMTMuMDAyMzddLCBbLTM4LjUwNjI2NSwgLTEzLjAwMjMxNV0sIFstMzguNTA2MTk1LCAtMTMuMDAyMjVdLCBbLTM4LjUwNjEzNjY2NjY2NjY3LCAtMTMuMDAyMTk1XSwgWy0zOC41MDYwODE2NjY2NjY2NywgLTEzLjAwMjEyNjY2NjY2NjY2N10sIFstMzguNTA2MDI1LCAtMTMuMDAyMDY1XSwgWy0zOC41MDU5NywgLTEzLjAwMjAwMzMzMzMzMzMzM10sIFstMzguNTA1OSwgLTEzLjAwMTk0XSwgWy0zOC41MDU4NCwgLTEzLjAwMTg3NV0sIFstMzguNTA1NzgsIC0xMy4wMDE4MDVdLCBbLTM4LjUwNTcxNSwgLTEzLjAwMTc0NV0sIFstMzguNTA1NjYsIC0xMy4wMDE2OV0sIFstMzguNTA1NTksIC0xMy4wMDE2M10sIFstMzguNTA1NTI1LCAtMTMuMDAxNTddLCBbLTM4LjUwNTQ2MTY2NjY2NjY3LCAtMTMuMDAxNTIxNjY2NjY2NjY3XSwgWy0zOC41MDUzNywgLTEzLjAwMTQ5NV0sIFstMzguNTA1MjksIC0xMy4wMDE1MV0sIFstMzguNTA1MjE1LCAtMTMuMDAxNTFdLCBbLTM4LjUwNTExMTY2NjY2NjY2NCwgLTEzLjAwMTUyMTY2NjY2NjY2N10sIFstMzguNTA1MDM1LCAtMTMuMDAxNTQ1XSwgWy0zOC41MDQ5NDUsIC0xMy4wMDE1OF0sIFstMzguNTA0ODc1LCAtMTMuMDAxNjA2NjY2NjY2NjY3XSwgWy0zOC41MDQ4MSwgLTEzLjAwMTY1NV0sIFstMzguNTA0NzQsIC0xMy4wMDE3MTE2NjY2NjY2NjddLCBbLTM4LjUwNDY4LCAtMTMuMDAxNzUxNjY2NjY2NjY3XSwgWy0zOC41MDQ2MSwgLTEzLjAwMThdLCBbLTM4LjUwNDUzNSwgLTEzLjAwMTgzNjY2NjY2NjY2Nl0sIFstMzguNTA0NDQsIC0xMy4wMDE4MjE2NjY2NjY2NjZdLCBbLTM4LjUwNDM3MTY2NjY2NjY2NCwgLTEzLjAwMTg1NV0sIFstMzguNTA0MywgLTEzLjAwMTgzNV0sIFstMzguNTA0MjIsIC0xMy4wMDE4OF0sIFstMzguNTA0MTUxNjY2NjY2NjY1LCAtMTMuMDAxOTI1XSwgWy0zOC41MDQwNTUsIC0xMy4wMDE5MjVdLCBbLTM4LjUwMzk4LCAtMTMuMDAxOTM1XSwgWy0zOC41MDM4OTUsIC0xMy4wMDE5M10sIFstMzguNTAzNzk4MzMzMzMzMzM2LCAtMTMuMDAxOTQzMzMzMzMzMzMzXSwgWy0zOC41MDM3MjE2NjY2NjY2NjQsIC0xMy4wMDE5NzVdLCBbLTM4LjUwMzYzNSwgLTEzLjAwMjAxXSwgWy0zOC41MDM1ODUsIC0xMy4wMDIwNjE2NjY2NjY2NjZdLCBbLTM4LjUwMzUxNjY2NjY2NjY3LCAtMTMuMDAyMTM1XSwgWy0zOC41MDM0NjE2NjY2NjY2NywgLTEzLjAwMjE4NjY2NjY2NjY2N10sIFstMzguNTAzMzkxNjY2NjY2NjY2LCAtMTMuMDAyMjQ1XSwgWy0zOC41MDMzMzE2NjY2NjY2NywgLTEzLjAwMjI4ODMzMzMzMzMzM10sIFstMzguNTAzMjcxNjY2NjY2NjcsIC0xMy4wMDIzNDVdLCBbLTM4LjUwMzIwNSwgLTEzLjAwMjQxXSwgWy0zOC41MDMxNDUsIC0xMy4wMDI0NjY2NjY2NjY2NjddLCBbLTM4LjUwMzA3LCAtMTMuMDAyNTJdLCBbLTM4LjUwMzAxNSwgLTEzLjAwMjU5XSwgWy0zOC41MDI5NjY2NjY2NjY2NjYsIC0xMy4wMDI2NTVdLCBbLTM4LjUwMjkyLCAtMTMuMDAyNzE2NjY2NjY2NjY2XSwgWy0zOC41MDI4ODUsIC0xMy4wMDI4XSwgWy0zOC41MDI4MzUsIC0xMy4wMDI4OF0sIFstMzguNTAyNzk1LCAtMTMuMDAyOTVdLCBbLTM4LjUwMjc3NjY2NjY2NjY3LCAtMTMuMDAzMDIxNjY2NjY2NjY3XSwgWy0zOC41MDI3NiwgLTEzLjAwMzEwMTY2NjY2NjY2Nl0sIFstMzguNTAyNzU2NjY2NjY2NjcsIC0xMy4wMDMxOV0sIFstMzguNTAyNzU1LCAtMTMuMDAzMjc1XSwgWy0zOC41MDI3NDMzMzMzMzMzMzUsIC0xMy4wMDMzNjY2NjY2NjY2NjddLCBbLTM4LjUwMjczNSwgLTEzLjAwMzQ0NV0sIFstMzguNTAyNzIsIC0xMy4wMDM1MzMzMzMzMzMzMzNdLCBbLTM4LjUwMjcwMTY2NjY2NjY3LCAtMTMuMDAzNjE1XSwgWy0zOC41MDI2OCwgLTEzLjAwMzY4NV0sIFstMzguNTAyNjYsIC0xMy4wMDM3N10sIFstMzguNTAyNjQ1LCAtMTMuMDAzODY1XSwgWy0zOC41MDI2MjUsIC0xMy4wMDM5NTY2NjY2NjY2NjddLCBbLTM4LjUwMjU5MTY2NjY2NjY3LCAtMTMuMDA0MDQ1XSwgWy0zOC41MDI1NjUsIC0xMy4wMDQxMjE2NjY2NjY2NjZdLCBbLTM4LjUwMjU2LCAtMTMuMDA0MTk1XSwgWy0zOC41MDI1NCwgLTEzLjAwNDI3XSwgWy0zOC41MDI0OTUsIC0xMy4wMDQzMzVdLCBbLTM4LjUwMjQ0LCAtMTMuMDA0NDA1XSwgWy0zOC41MDIzNzUsIC0xMy4wMDQ0NTVdLCBbLTM4LjUwMjM1LCAtMTMuMDA0NTM1XSwgWy0zOC41MDIzNDUsIC0xMy4wMDQ2MTE2NjY2NjY2NjddLCBbLTM4LjUwMjM1LCAtMTMuMDA0Njk1XSwgWy0zOC41MDIzNTUsIC0xMy4wMDQ3NjY2NjY2NjY2NjddLCBbLTM4LjUwMjM3LCAtMTMuMDA0ODZdLCBbLTM4LjUwMjM3NSwgLTEzLjAwNDkzNjY2NjY2NjY2N10sIFstMzguNTAyMzU1LCAtMTMuMDA1MDE1XSwgWy0zOC41MDIzMywgLTEzLjAwNTEwNjY2NjY2NjY2Nl0sIFstMzguNTAyMjkzMzMzMzMzMzM0LCAtMTMuMDA1MThdLCBbLTM4LjUwMjI3MTY2NjY2NjY2NSwgLTEzLjAwNTEwNV1dLCAidHlwZSI6ICJMaW5lU3RyaW5nIn0sICJwcm9wZXJ0aWVzIjogeyJjb2xvciI6ICIjRkY4QzAwIiwgIm9wYWNpdHkiOiAwLjUsICJ3ZWlnaHQiOiA1LjB9LCAidHlwZSI6ICJGZWF0dXJlIn0pOwogICAgICAgIAo8L3NjcmlwdD4=\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7f45a94c8198>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import folium\n",
    "\n",
    "lon, lat = -38.51386097, -13.00868051\n",
    "zoom_start = 14\n",
    "\n",
    "m = folium.Map(\n",
    "    location=[lat, lon],\n",
    "    tiles='Cartodb Positron',\n",
    "    zoom_start=zoom_start\n",
    ")\n",
    "\n",
    "# The first geometry is a lineString.\n",
    "line_string = gj['features'][0]\n",
    "gjson = folium.features.GeoJson(line_string)\n",
    "\n",
    "m.add_child(gjson)\n",
    "m.save(os.path.join('results', 'Folium_and_mplleaflet_0.html'))\n",
    "\n",
    "m"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'color': '#FF8C00', 'weight': 5.0, 'opacity': 0.5}"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "line_string['properties']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<font color=\"#FF8C00\">This should be darkorange!</font>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from IPython.display import HTML\n",
    "\n",
    "msg = '<font color=\"{}\">This should be darkorange!</font>'.format\n",
    "HTML(msg(line_string['properties']['color']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"width:100%;\"><div style=\"position:relative;width:100%;height:0;padding-bottom:60%;\"><iframe src=\"data:text/html;charset=utf-8;base64,PCFET0NUWVBFIGh0bWw+CjxoZWFkPiAgICAKICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPgogICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgTF9OT19UT1VDSCA9IGZhbHNlOwogICAgICAgICAgICBMX0RJU0FCTEVfM0QgPSBmYWxzZTsKICAgICAgICA8L3NjcmlwdD4KICAgIAogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuanMiPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEyLjQubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9MZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy8yLjAuMi9sZWFmbGV0LmF3ZXNvbWUtbWFya2Vycy5qcyI+PC9zY3JpcHQ+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVhZmxldEAxLjQuMC9kaXN0L2xlYWZsZXQuY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMi4wL2Nzcy9ib290c3RyYXAubWluLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjIuMC9jc3MvYm9vdHN0cmFwLXRoZW1lLm1pbi5jc3MiLz4KICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9tYXhjZG4uYm9vdHN0cmFwY2RuLmNvbS9mb250LWF3ZXNvbWUvNC42LjMvY3NzL2ZvbnQtYXdlc29tZS5taW4uY3NzIi8+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL0xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLzIuMC4yL2xlYWZsZXQuYXdlc29tZS1tYXJrZXJzLmNzcyIvPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3Jhd2Nkbi5naXRoYWNrLmNvbS9weXRob24tdmlzdWFsaXphdGlvbi9mb2xpdW0vbWFzdGVyL2ZvbGl1bS90ZW1wbGF0ZXMvbGVhZmxldC5hd2Vzb21lLnJvdGF0ZS5jc3MiLz4KICAgIDxzdHlsZT5odG1sLCBib2R5IHt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7fTwvc3R5bGU+CiAgICA8c3R5bGU+I21hcCB7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDtsZWZ0OjA7fTwvc3R5bGU+CiAgICAKICAgICAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwKICAgICAgICAgICAgICAgIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT1ubyIgLz4KICAgICAgICAgICAgPHN0eWxlPgogICAgICAgICAgICAgICAgI21hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCB7CiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAuMCU7CiAgICAgICAgICAgICAgICAgICAgbGVmdDogMC4wJTsKICAgICAgICAgICAgICAgICAgICB0b3A6IDAuMCU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgCjwvaGVhZD4KPGJvZHk+ICAgIAogICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvbGl1bS1tYXAiIGlkPSJtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgiID48L2Rpdj4KICAgICAgICAKPC9ib2R5Pgo8c2NyaXB0PiAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4ID0gTC5tYXAoCiAgICAgICAgICAgICAgICAibWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4IiwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IFstMTMuMDA4NjgwNTEsIC0zOC41MTM4NjA5N10sCiAgICAgICAgICAgICAgICAgICAgY3JzOiBMLkNSUy5FUFNHMzg1NywKICAgICAgICAgICAgICAgICAgICB6b29tOiAxNCwKICAgICAgICAgICAgICAgICAgICB6b29tQ29udHJvbDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICBwcmVmZXJDYW52YXM6IGZhbHNlLAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICApOwoKICAgICAgICAgICAgCgogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciB0aWxlX2xheWVyXzE2N2Y0ZjQ3NzM4ZTRhNWZhNWI2ZjBjZDhlOGYzZTEzID0gTC50aWxlTGF5ZXIoCiAgICAgICAgICAgICAgICAiaHR0cHM6Ly9jYXJ0b2RiLWJhc2VtYXBzLXtzfS5nbG9iYWwuc3NsLmZhc3RseS5uZXQvbGlnaHRfYWxsL3t6fS97eH0ve3l9LnBuZyIsCiAgICAgICAgICAgICAgICB7ImF0dHJpYnV0aW9uIjogIlx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly93d3cub3BlbnN0cmVldG1hcC5vcmcvY29weXJpZ2h0XCJcdTAwM2VPcGVuU3RyZWV0TWFwXHUwMDNjL2FcdTAwM2UgY29udHJpYnV0b3JzIFx1MDAyNmNvcHk7IFx1MDAzY2EgaHJlZj1cImh0dHA6Ly9jYXJ0b2RiLmNvbS9hdHRyaWJ1dGlvbnNcIlx1MDAzZUNhcnRvREJcdTAwM2MvYVx1MDAzZSwgQ2FydG9EQiBcdTAwM2NhIGhyZWYgPVwiaHR0cDovL2NhcnRvZGIuY29tL2F0dHJpYnV0aW9uc1wiXHUwMDNlYXR0cmlidXRpb25zXHUwMDNjL2FcdTAwM2UiLCAiZGV0ZWN0UmV0aW5hIjogZmFsc2UsICJtYXhOYXRpdmVab29tIjogMTgsICJtYXhab29tIjogMTgsICJtaW5ab29tIjogMCwgIm5vV3JhcCI6IGZhbHNlLCAib3BhY2l0eSI6IDEsICJzdWJkb21haW5zIjogImFiYyIsICJ0bXMiOiBmYWxzZX0KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNTE3MWVjZWNjNTdkNGIyMjgzODI2ZWY2MzM1YTFlYjggPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA1NDE1LCAtMzguNTAyNjA1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fNmVkZDMyNTVkNmEyNGI5NWJhZmM5MjhkNGU0ZTIxMGMgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCItOC4yOTg5MTU1NDQyNzIyMjEgLTMuMzE0ODk0NzYzNzA3MzczNiAxMi4wIDI0LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDEuMzY0OTI5NTMxNjQyOTI5IDAuNTM1MzcwNjU5MDU4Nzk5MyBMIC0wLjgzOTg5NzY3Mzg1ODQ4ODYgNi4xNTY1ODYwMDU5MTY0ODg1IEwgMi40MjUzMzIwNDg0ODYxNjkzIDUuODYyMzk3NzkyMzkxMTU4NSBMIC03LjAyMzE2MzEzNzAzMDYxMSAxNy45MDU1ODExMzE2NDQwNTIgTCAtNS43NjQyNDUxNDEzNzE0MDYgMi42NTAxNzM4MzgwMzgzNjMgTCAtMy41Njk3NTY3MzcxNDQzNDcgNS4wODU4NDQ2ODc3OTg4OTA1IEwgLTEuMzY0OTI5NTMxNjQyOTI5IC0wLjUzNTM3MDY1OTA1ODc5OTMgTCAxLjM2NDkyOTUzMTY0MjkyOSAwLjUzNTM3MDY1OTA1ODc5OTNcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzguMjk4OTE1NTQ0MjcyMjIxLCAzLjMxNDg5NDc2MzcwNzM3MzZdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfNTE3MWVjZWNjNTdkNGIyMjgzODI2ZWY2MzM1YTFlYjguc2V0SWNvbihkaXZfaWNvbl82ZWRkMzI1NWQ2YTI0Yjk1YmFmYzkyOGQ0ZTRlMjEwYyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl85YWRlNzVkY2RjNDY0YzIyYjg1MDBlMjVlY2Y5YmFiMSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDYxNiwgLTM4LjUwMjIwNTAwMDAwMDAwNF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzI4ZjU5ZjA5Y2IyYzQwMTc4ODYxYWEwZGE4Zjk4NzJhID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjJweFwiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiLTMuNDU5OTMxMzY1NzExODU4IC0zLjcyNTg0NjM1MzE3Nzc1NiAyMi4wIDI0LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDEuMDc4MzgxMjM0OTAwMjU2MiAtMC45OTMzNTIwNDI5MDY3NjIgTCA4LjI5NjczMTM1MjIxNTkzNCA2Ljg0Mjg3NjE3OTU0MjE4OCBMIDkuNDYwMTQxNzc5MTA5Njg1IDMuNzc3NzkwODU4ODI4NDA2NiBMIDE2LjE1ODUxODUwMzQ3NjU0IDE3LjU0MTY1OTMzNjU1MTI1MiBMIDIuOTg5ODU0MzY5NzA4MTQ3NCA5LjczNzkwMzExNjI2ODk4MSBMIDYuMTM5OTY4ODgyNDE1NDIyIDguODI5NTgwMjY1MzU1NzEgTCAtMS4wNzgzODEyMzQ5MDAyNTYyIDAuOTkzMzUyMDQyOTA2NzYyIEwgMS4wNzgzODEyMzQ5MDAyNTYyIC0wLjk5MzM1MjA0MjkwNjc2MlwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMy40NTk5MzEzNjU3MTE4NTgsIDMuNzI1ODQ2MzUzMTc3NzU2XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzlhZGU3NWRjZGM0NjRjMjJiODUwMGUyNWVjZjliYWIxLnNldEljb24oZGl2X2ljb25fMjhmNTlmMDljYjJjNDAxNzg4NjFhYTBkYThmOTg3MmEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMGM5OGM1ZWYwODk2NDFiMzk3OWM0MTU2MDU5MzdhNTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA2NTY2NjY2NjY2NjY2LCAtMzguNTAxNDQ2NjY2NjY2NjY2XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMWNmOGU1OTBlYWYxNGRmZGI4YmIwNDZkNjUxZTU0MzEgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzM3B4XCIgaGVpZ2h0PVwiMTNweFwiIHZpZXdCb3g9XCItNC4wMDMzMTQ0NzU2NjY3NDUgLTIuOTU3MDQwMTg1OTU4NzUzNCAzMy4wIDEzLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuNDYzMjIzNTgyMzYxMzc2OTUgLTEuMzkxMDcwOTExODA3Mjc4IEwgMTMuNDAwMTgwMDA3MTIzNzY0IDIuOTE2OTA3Mzg2ODMwMTAxNCBMIDEyLjkzNTU1NjI2MDAzOTI0IC0wLjMyODQ1ODAxOTE0NTgzMTM0IEwgMjUuNDU2NTk0NjMxMDI3ODg3IDguNDc2OTkwNTM5ODg5NzcxIEwgMTAuMTU2MjE0NzY1ODcwOTggOC4wMTc5Njc0NTE2OTc4MzUgTCAxMi40NzM3MzI4NDI0MDEwMTEgNS42OTkwNDkyMTA0NDQ2NTcgTCAtMC40NjMyMjM1ODIzNjEzNzY5NSAxLjM5MTA3MDkxMTgwNzI3OCBMIDAuNDYzMjIzNTgyMzYxMzc2OTUgLTEuMzkxMDcwOTExODA3Mjc4XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFs0LjAwMzMxNDQ3NTY2Njc0NSwgMi45NTcwNDAxODU5NTg3NTM0XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzBjOThjNWVmMDg5NjQxYjM5NzljNDE1NjA1OTM3YTU0LnNldEljb24oZGl2X2ljb25fMWNmOGU1OTBlYWYxNGRmZGI4YmIwNDZkNjUxZTU0MzEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNTdiZDAwN2U5YWIyNDBkZmI2OGRlNGYwZjFmZmU4ZTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA2NzYxNjY2NjY2NjY2LCAtMzguNTAwNjZdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl84MGMzNjAwMjUyY2M0MjM4YTllZWFhZjkyNWY2YzY5YSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI1cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zLjA1MTE2OTUyMDgxNDAwMTUgLTQuMjg2OTQwMTA2Mjg0MTU4IDI1LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4zNDU5NTAyMzg3MjY3Mjk2NCAtMS40MjQ3NzExMzk5NTc5MDg0IEwgNi43NjY2MjExNzYyMDQyNzkgMC4xMzQyMzg5OTI0ODQ2NjM1NiBMIDYuMDMzNzUwNTEzNjk5ODMgLTMuMDYxMjUzNTI2MTU3ODgyNCBMIDE5LjI0MzYxMTE5NzA5ODcyNiA0LjY3MjU2MjI4MDk4MzEzOCBMIDMuOTU4MDQ5MDgxMzM5NDUxIDUuNDg3MzczMzEzNTg5NTY3NSBMIDYuMDc0NzIwNjk4NzUwODIgMi45ODM3ODEyNzI0MDA0ODA0IEwgLTAuMzQ1OTUwMjM4NzI2NzI5NjQgMS40MjQ3NzExMzk5NTc5MDg0IEwgMC4zNDU5NTAyMzg3MjY3Mjk2NCAtMS40MjQ3NzExMzk5NTc5MDg0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszLjA1MTE2OTUyMDgxNDAwMTUsIDQuMjg2OTQwMTA2Mjg0MTU4XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzU3YmQwMDdlOWFiMjQwZGZiNjhkZTRmMGYxZmZlOGUwLnNldEljb24oZGl2X2ljb25fODBjMzYwMDI1MmNjNDIzOGE5ZWVhYWY5MjVmNmM2OWEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNTY3MWRhZjIxNWIzNGNjZDg3ZTQ0MTRhZWZmOTBmYjYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA3MDA2NjY2NjY2NjY3LCAtMzguNDk5Nzc1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMTllMWE2M2E1YjU2NGE5MTgxNDg2NGUzYjZkOTIzMTEgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzM3B4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMy45ODQ0NTkxNjk1MjYzOTc2IC0zLjI2NDk1NzQ1MjU5OTQ1NjUgMzMuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjI5MzAwOTY0NTY2Mzc2Nzg2IC0xLjQzNjU5MzA5MzU2NTQ3ODcgTCAxMi42ODc3NjMxMTAxODU0MzMgMS4wOTE0NTkwOTk0OTg4MzI1IEwgMTEuODM3MTg5MzA3OTQ3NDg4IC0yLjA3NDczNjczMzI5NTg5MiBMIDI1LjMyNDA5MTMwNjYxMDk3IDUuMTY1MTM5MDA0MDM4MjIyIEwgMTAuMDc5MTMxNDMzOTY0ODgyIDYuNTQ0ODIxODI4MDk2OTc4IEwgMTIuMTAxNzQzODE4ODU3ODk0IDMuOTY0NjQ1Mjg2NjI5NzkgTCAtMC4yOTMwMDk2NDU2NjM3Njc4NiAxLjQzNjU5MzA5MzU2NTQ3ODcgTCAwLjI5MzAwOTY0NTY2Mzc2Nzg2IC0xLjQzNjU5MzA5MzU2NTQ3ODdcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuOTg0NDU5MTY5NTI2Mzk3NiwgMy4yNjQ5NTc0NTI1OTk0NTY1XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzU2NzFkYWYyMTViMzRjY2Q4N2U0NDE0YWVmZjkwZmI2LnNldEljb24oZGl2X2ljb25fMTllMWE2M2E1YjU2NGE5MTgxNDg2NGUzYjZkOTIzMTEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMDc3OGViZDQ3ZjhmNDljNTg5ODU5YjE3NDVkZTUyZjIgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA3MzIsIC0zOC40OTkwMl0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzdlMmYyNTkyOTcwMDQyZGI4Yjc4YjRkNzJlMDc4YjNmID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjJweFwiIGhlaWdodD1cIjIxcHhcIiB2aWV3Qm94PVwiLTMuMzU0MDk2MjgyMTkxNjQgLTMuNDg3MDEyODk5NTEyNTcxIDIyLjAgMjEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC45OTY4MDY3MDczODEzNjQ4IC0xLjA3NTE4ODcwNzY0Njk2OTcgTCA3LjYwODcyMjQ4MTU1NjcyNSA1LjA1NDcxMzgzNDU0MjU3MyBMIDguNTI3MTQ3MTg4NjcyNDg3IDEuOTA3NTI5NzExODY3MjY5NCBMIDE2LjI4ODYxNDE0Mjk5ODA4NSAxNS4xMDExNjI5MDg2MjE4MjUgTCAyLjU0NjMwNjk0NDM4NDI5NjUgOC4zNTg2NjE5NTc3NDkwODkgTCA1LjYxNTEwOTA2Njc5Mzk5NiA3LjIwNTA5MTI0OTgzNjUxMyBMIC0wLjk5NjgwNjcwNzM4MTM2NDggMS4wNzUxODg3MDc2NDY5Njk3IEwgMC45OTY4MDY3MDczODEzNjQ4IC0xLjA3NTE4ODcwNzY0Njk2OTdcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMzU0MDk2MjgyMTkxNjQsIDMuNDg3MDEyODk5NTEyNTcxXSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzA3NzhlYmQ0N2Y4ZjQ5YzU4OTg1OWIxNzQ1ZGU1MmYyLnNldEljb24oZGl2X2ljb25fN2UyZjI1OTI5NzAwNDJkYjhiNzhiNGQ3MmUwNzhiM2YpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZWQyNGMwYzUxYzJkNDZjNTk2MTUwNWRjOGQ4MTUzNmMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA4MDYsIC0zOC40OTg1MzVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8yYmNhNWU1MzlmMjk0NDAzYmVlYzIxYTRmZTM1ZmU4ZSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIzOHB4XCIgdmlld0JveD1cIi0zLjcyNzQxMjY3ODkwMDc3MyAtNC44NjQ4MDM4NzEzNTc4NDY1IDI0LjAgMzguMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMS4yNTAwODM1OTEyNDgwMjQ4IC0wLjc2NjEyMzYwODcxMTA3NDcgTCAxMi4xNTAyMjkzNDYyOTQ4MyAxNy4wMTk2Mzk5MzYwNTIwNzYgTCAxMy44ODQyNzI5MjAwNzk4MDcgMTQuMjM3MzA5MTI3MzgxOTA3IEwgMTcuNzk1MjU4MjMzNDQ2NDggMjkuMDM2NTE1ODY1OTk1MzgzIEwgNi4zODM3NzEzNzI1OTE2NTYgMTguODM0MDUwNzc5NjQ4MzU0IEwgOS42NTAwNjIxNjM3OTg3ODEgMTguNTUxODg3MTUzNDc0MjMgTCAtMS4yNTAwODM1OTEyNDgwMjQ4IDAuNzY2MTIzNjA4NzExMDc0NyBMIDEuMjUwMDgzNTkxMjQ4MDI0OCAtMC43NjYxMjM2MDg3MTEwNzQ3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszLjcyNzQxMjY3ODkwMDc3MywgNC44NjQ4MDM4NzEzNTc4NDY1XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2VkMjRjMGM1MWMyZDQ2YzU5NjE1MDVkYzhkODE1MzZjLnNldEljb24oZGl2X2ljb25fMmJjYTVlNTM5ZjI5NDQwM2JlZWMyMWE0ZmUzNWZlOGUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMzhmYjE2MWY2YjNhNDE0MWFiMzY2YTVhOWQwNjE3MjEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA4NjYsIC0zOC40OTgwNF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzY1MDQwYzBhMmUwODQxNWJhYjM2Mjg2ODJiZDFlYTc3ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjZweFwiIGhlaWdodD1cIjEycHhcIiB2aWV3Qm94PVwiLTMuNDQzODMwMzM1NzU2OTgzMyAtMy40OTQwODMxMTQ0NTcyNTA2IDI2LjAgMTIuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC40OTY1NDAzNzQ2MzcyNjUxNCAtMS4zNzk1Mjk2MzkxNDc3NTA3IEwgNy42ODk2NTMzMjU0MzA4MDUgMS4yMDk1MjAyMDY1Njc1NjQgTCA3LjMwMzIwNDQzNTU1NzU4NCAtMi4wNDYwNzk0NDYzNjUyMDIzIEwgMTkuNjA4ODc5NzAzMTIzMjk2IDcuMDU3OTEzMjE3NDUwNzAxIEwgNC4zMjM5NjIxODc3MzM5OTM1IDYuMjMxMDk4Mzg4NTIxMzAyNSBMIDYuNjk2NTcyNTc2MTU2MjczNSAzLjk2ODU3OTQ4NDg2MzA2NTMgTCAtMC40OTY1NDAzNzQ2MzcyNjUxNCAxLjM3OTUyOTYzOTE0Nzc1MDcgTCAwLjQ5NjU0MDM3NDYzNzI2NTE0IC0xLjM3OTUyOTYzOTE0Nzc1MDdcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuNDQzODMwMzM1NzU2OTgzMywgMy40OTQwODMxMTQ0NTcyNTA2XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzM4ZmIxNjFmNmIzYTQxNDFhYjM2NmE1YTlkMDYxNzIxLnNldEljb24oZGl2X2ljb25fNjUwNDBjMGEyZTA4NDE1YmFiMzYyODY4MmJkMWVhNzcpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfN2FiODFhYjAxNTE0NDAzMDgxYmRiY2NhNTcwNjVlMTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5MTQsIC0zOC40OTczNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2U0YzgwOWIxMjdjNDQ1NzViMWFiNjUyZTQ2YTU4ZjNhID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjIwcHhcIiB2aWV3Qm94PVwiLTQuNjY2MjYyNjYzNjczMjY1IC0yLjU0NTE3NzM4NzMxNjgyMyAxMi4wIDIwLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDEuMzY0OTMyMjU5OTg4MDY2NCAtMC41MzUzNjM3MDMwODAzNTI3IEwgMi42MDQ2MTMxNzM5NzU0ODg3IDIuNjI1MjU0ODg1NDczNzU0IEwgNC43OTkxMTM5OTA4NzEyNyAwLjE4OTU5NTIxOTMyNDk4MjA1IEwgNi4wNTc5NTQyNDE3MTA1OTggMTUuNDQ1MDA4OTI4NDQ2NzA2IEwgLTMuMzkwNDc5NTY5MDU3MTI5NCAzLjQwMTc3NzQzNzgwNzA5OSBMIC0wLjEyNTI1MTM0NjAwMDY0MzggMy42OTU5ODIyOTE2MzQ0NTk2IEwgLTEuMzY0OTMyMjU5OTg4MDY2NCAwLjUzNTM2MzcwMzA4MDM1MjcgTCAxLjM2NDkzMjI1OTk4ODA2NjQgLTAuNTM1MzYzNzAzMDgwMzUyN1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbNC42NjYyNjI2NjM2NzMyNjUsIDIuNTQ1MTc3Mzg3MzE2ODIzXSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzdhYjgxYWIwMTUxNDQwMzA4MWJkYmNjYTU3MDY1ZTEwLnNldEljb24oZGl2X2ljb25fZTRjODA5YjEyN2M0NDU3NWIxYWI2NTJlNDZhNThmM2EpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYTU2NmFhYzdkOTNkNDcyNmI3NTgwNmM3OWJmYTliZGUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5OTI1LCAtMzguNDk3MTA1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fYjUyYjA5ZDA1MDUxNDZlODk1NjI2MGY2ODgzMjdkMzQgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIxNHB4XCIgaGVpZ2h0PVwiMzJweFwiIHZpZXdCb3g9XCItMi44NTU3NjM0NDMwNjg3MTEgLTMuOTYxNzU5NTY5MDY3NzkxIDE0LjAgMzIuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMS4zNjQ5MzI4NDMzOTExNDUgLTAuNTM1MzYyMjE1NjY3MzAyNCBMIDYuMjAwMDc4ODU5NjM5MTQ3IDExLjc5MjA4NTI3MTM0NDExMiBMIDguMzk0NTgyMzMwNzU0MTM1IDkuMzU2NDI3OTk2NjE4MzY1IEwgOS42NTM0MDU5NTcyNTM3MjMgMjQuNjExODQzMDc3NTMxNzIgTCAwLjIwNDk4NTI3MDQwNzI2NDI1IDEyLjU2ODYwMTI5MDYyMjE3OCBMIDMuNDcwMjEzMTcyODU2ODU2NiAxMi44NjI4MDk3MDI2Nzg3MTcgTCAtMS4zNjQ5MzI4NDMzOTExNDUgMC41MzUzNjIyMTU2NjczMDI0IEwgMS4zNjQ5MzI4NDMzOTExNDUgLTAuNTM1MzYyMjE1NjY3MzAyNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi44NTU3NjM0NDMwNjg3MTEsIDMuOTYxNzU5NTY5MDY3NzkxXSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2E1NjZhYWM3ZDkzZDQ3MjZiNzU4MDZjNzliZmE5YmRlLnNldEljb24oZGl2X2ljb25fYjUyYjA5ZDA1MDUxNDZlODk1NjI2MGY2ODgzMjdkMzQpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNzRmOWFkYzFkNzI4NDM4ZDkyNzY3ZmIwZTY1MDdiNTMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDEwNDIsIC0zOC40OTc0MV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzlkMWExYzgzMTA1MDQ3MWJiMTU3NTJlYzU4OWQ3YjhhID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzRweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTMwLjE1NzU0NjM2MzAxOTYzNCAtNC4yMjMyMjI3OTc3MDgxMTQ1IDM0LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4xNTY0OTM1NDkwMjE1MDM3NSAxLjQ1Nzc5NDI3MTUwOTc2NzEgTCAtMTMuMTk0OTQ0MjgyNDUxMzU4IDIuODkxMDY1MDIyODIzMTU2IEwgLTExLjQyNDE2MjkxMjg5ODU4NiA1LjY1MDE2MDAxNjgyMTE4NiBMIC0yNi40NzE1ODYyNzUwNjA3NyAyLjg0MTcxMjY5MjUwNjkyMjcgTCAtMTIuMzYzMTI0MjA3MDI3NjA4IC0zLjA5NjYwNTYxMjIzNzQxNiBMIC0xMy41MDc5MzEzODA0OTQzNjggLTAuMDI0NTIzNTIwMTk2Mzc4MjkyIEwgLTAuMTU2NDkzNTQ5MDIxNTAzNzUgLTEuNDU3Nzk0MjcxNTA5NzY3MSBMIDAuMTU2NDkzNTQ5MDIxNTAzNzUgMS40NTc3OTQyNzE1MDk3NjcxXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszMC4xNTc1NDYzNjMwMTk2MzQsIDQuMjIzMjIyNzk3NzA4MTE0NV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl83NGY5YWRjMWQ3Mjg0MzhkOTI3NjdmYjBlNjUwN2I1My5zZXRJY29uKGRpdl9pY29uXzlkMWExYzgzMTA1MDQ3MWJiMTU3NTJlYzU4OWQ3YjhhKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzFiNTQ1ZjA4ZWRkNDRjMDA5ODYzZDA2YWNiMjQyYjUxID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMDQxNSwgLTM4LjQ5ODI2XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fNjE2MmNiNDE3YTVkNGIzYjhiYzVlOWUwNjJiNGEwNjUgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzMnB4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMjguMzk4NjU1MTkxNjc1NjEyIC0zLjQ1OTM1ODU1NzI5NDU1IDMyLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4yNzUzNjY5MTg5NzQxNDMxNyAxLjQ0MDA3ODk2NjE5MTM0MjcgTCAtMTEuODM2NTk5Njg3NjI5MTM3IDMuNzU2MDg3MzI3ODcwOTM1NyBMIC05Ljg0NTc4Njg4MzQ4OTUwOCA2LjM2MDg3ODM0MTI3OTQ3OCBMIC0yNS4wNzI2NzczMDIzMjUzNjcgNC43OTQzMTA2MzI0NDY4ODEgTCAtMTEuNDk3OTg4Mzk3MzM0MzY2IC0yLjI3OTU5NTQ1NTg2ODU3OSBMIC0xMi4zODczMzM1MjU1Nzc0MjMgMC44NzU5MjkzOTU0ODgyNDk4IEwgLTAuMjc1MzY2OTE4OTc0MTQzMTcgLTEuNDQwMDc4OTY2MTkxMzQyNyBMIDAuMjc1MzY2OTE4OTc0MTQzMTcgMS40NDAwNzg5NjYxOTEzNDI3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyOC4zOTg2NTUxOTE2NzU2MTIsIDMuNDU5MzU4NTU3Mjk0NTVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMWI1NDVmMDhlZGQ0NGMwMDk4NjNkMDZhY2IyNDJiNTEuc2V0SWNvbihkaXZfaWNvbl82MTYyY2I0MTdhNWQ0YjNiOGJjNWU5ZTA2MmI0YTA2NSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl83ZWNjZTM1YzNkY2I0NDA0OTRlZTZlYTA4MGM4ZGZhNCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTA1MzY2NjY2NjY2NjcsIC0zOC40OTkxM10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2Y5Zjg3ZTVkYjIwMDQ2ODc5MjM2OTIxNDYwOTA3NDBkID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjdweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTIzLjk1MDEyNzQwMTQ0NzUyNCAtNC40OTk1MDAxODk2NzY4MjIgMjcuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjIxOTAzMDA5NzE0MjY2NzIgMS40NDk3MTcyNzc3NzQ0MzMyIEwgLTcuODUyNzk5MzAyOTI1MTUgMi42NjkyNDcxODUyNDAyNzc3IEwgLTUuOTY1MDIxODMwODY1Mzg0IDUuMzQ5NjUxNjQzNjQ2NDc2IEwgLTIxLjExOTI4NDkwMDAzNzcxMiAzLjE5MDgwMDc4MTc0OTg1IEwgLTcuMjc5MjAyNDEzNzIxMzg2IC0zLjM0ODY1MjAyMzAwMDEyMTMgTCAtOC4yOTA4NTk0OTcyMTA0ODUgLTAuMjMwMTg3MzcwMzA4NTg4IEwgLTAuMjE5MDMwMDk3MTQyNjY3MiAtMS40NDk3MTcyNzc3NzQ0MzMyIEwgMC4yMTkwMzAwOTcxNDI2NjcyIDEuNDQ5NzE3Mjc3Nzc0NDMzMlwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjMuOTUwMTI3NDAxNDQ3NTI0LCA0LjQ5OTUwMDE4OTY3NjgyMl0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl83ZWNjZTM1YzNkY2I0NDA0OTRlZTZlYTA4MGM4ZGZhNC5zZXRJY29uKGRpdl9pY29uX2Y5Zjg3ZTVkYjIwMDQ2ODc5MjM2OTIxNDYwOTA3NDBkKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2JhYzRjYTY3MGEwZDQ5YmRiOWYyOWEyMmEyOTdlMjVmID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMDYsIC0zOC40OTk5NTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl82MGQ3ZDBlMDQzNWI0MjRmYWJlYWZhNWVmOWMxMmFkMCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMzcHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yOS4yMTU5MDk3NDAzOTg5MSAtMy45OTA0Nzg1MDE0OTcyMTkzIDMzLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4xOTc1NDY0MjU5NTQ5MDY2MiAxLjQ1MjgwMDY2NzE2ODIzOTQgTCAtMTIuMzU2NjEzNDc2MjgzNjY2IDMuMTU5ODY4NTkxNjI1OTI3IEwgLTEwLjUwODcxOTk1NzIwNTYxMiA1Ljg2NzkyMzUwMDAwNzQ5OSBMIC0yNS42MjkzNjU5MDY3NTI3MjggMy40ODQ5ODU3NTgwNTE4NDYgTCAtMTEuNjkzOTk4NTEyOTM1MDUxIC0yLjg0ODg4MDUwMzAwMTkzNzMgTCAtMTIuNzUxNzA2MzI4MTkzNDc4IDAuMjU0MjY3MjU3Mjg5NDQ3OSBMIC0wLjE5NzU0NjQyNTk1NDkwNjYyIC0xLjQ1MjgwMDY2NzE2ODIzOTQgTCAwLjE5NzU0NjQyNTk1NDkwNjYyIDEuNDUyODAwNjY3MTY4MjM5NFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjkuMjE1OTA5NzQwMzk4OTEsIDMuOTkwNDc4NTAxNDk3MjE5M10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9iYWM0Y2E2NzBhMGQ0OWJkYjlmMjlhMjJhMjk3ZTI1Zi5zZXRJY29uKGRpdl9pY29uXzYwZDdkMGUwNDM1YjQyNGZhYmVhZmE1ZWY5YzEyYWQwKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2RhYjBiODcyNzU5MDRlNjE5MTk4ZjI3MGQ3ZjkwMzViID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMDg0LCAtMzguNTAwODIxNjY2NjY2NjddLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8zY2VlMTA1Y2JhYWI0YmY2OTZiOWUzOTA3ZWE4YzBmNiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjQycHhcIiBoZWlnaHQ9XCIxNXB4XCIgdmlld0JveD1cIi0zNy4xODE4NTc4NTA3NzkzOTQgLTIuOTg4MDE4NzY0MjY0OTU0IDQyLjAgMTUuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC40NDM4NzMxMjY2MDQzNTM5NiAxLjM5NzM2NTc0MTgxOTQxMTQgTCAtMTkuNzg3NDI0MDI1MTg0MDkgNy44MjM4MzU4MTU2Njk3MjggTCAtMTcuNTAyMzEyMDMwMTU1OTcgMTAuMTc0Njk0MTcyNzA0MTk4IEwgLTMyLjgwNzU4ODgyODE2MzE1IDEwLjQyMTMyODIxMzI4OTUwMiBMIC0yMC4xNjU1NTA3ODk3ODIwOTUgMS43OTA0OTk3MjE3ODc3Mjk5IEwgLTIwLjY3NTE3MDI3ODM5Mjc5OCA1LjAyOTEwNDMzMjAzMDkwNiBMIC0wLjQ0Mzg3MzEyNjYwNDM1Mzk2IC0xLjM5NzM2NTc0MTgxOTQxMTQgTCAwLjQ0Mzg3MzEyNjYwNDM1Mzk2IDEuMzk3MzY1NzQxODE5NDExNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMzcuMTgxODU3ODUwNzc5Mzk0LCAyLjk4ODAxODc2NDI2NDk1NF0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9kYWIwYjg3Mjc1OTA0ZTYxOTE5OGYyNzBkN2Y5MDM1Yi5zZXRJY29uKGRpdl9pY29uXzNjZWUxMDVjYmFhYjRiZjY5NmI5ZTM5MDdlYThjMGY2KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzRhNzFjOGE4YWM0MjRlZTA5NTVhMzBmYzE4ZDdmZGIyID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMDc4NSwgLTM4LjUwMTddLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9kODQ0YzEwZmJiYjg0MTA4YTc2MGMwYTQxY2YwNDRhYyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMwcHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yNi4zMTgwODUyMzg4NjIyNDUgLTcuNzk1Nzc5MzgxODE2NjkzIDMwLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMzY5NDQ0MDIyMDU5NjYxMyAxLjQxODg2MDYyODYzNzA4MzMgTCAtMTAuNjA1MzEyODY0MTEwMDcgLTEuMjQ2MzYyNzc1MjM5MjcwNyBMIC05LjkyNTM0MDI3OTU5MjMwOSAxLjk2MDgwMjUwNDA5NDU1NyBMIC0yMy4wMDU2MTQ0OTk3ODQxNTUgLTUuOTkwMjE5NjAyNDEzMzA2IEwgLTcuNzA4Njc2MTQ3MjM0MzQgLTYuNTUyMzYxMjY3NzI3OTQzIEwgLTkuODY2NDI0ODE5OTkwNzQ2IC00LjA4NDA4NDAzMjUxMzQzOCBMIDAuMzY5NDQ0MDIyMDU5NjYxMyAtMS40MTg4NjA2Mjg2MzcwODMzIEwgLTAuMzY5NDQ0MDIyMDU5NjYxMyAxLjQxODg2MDYyODYzNzA4MzNcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzI2LjMxODA4NTIzODg2MjI0NSwgNy43OTU3NzkzODE4MTY2OTNdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfNGE3MWM4YThhYzQyNGVlMDk1NWEzMGZjMThkN2ZkYjIuc2V0SWNvbihkaXZfaWNvbl9kODQ0YzEwZmJiYjg0MTA4YTc2MGMwYTQxY2YwNDRhYyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8zY2QwODVmZGJmZWI0OGUyODc4ODNjZGQ5MDQ0NmEyZCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTA1NDMzMzMzMzMzMzMsIC0zOC41MDI1MTY2NjY2NjY2NjVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9mYWQ2NjE4NTdhN2E0MjhhYTgzYmNmODdlOGFmZWVmYSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjM1cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zMS4yNjQ0MTMzNjkwODIwNjQgLTYuNjU3NjI5OTM1ODI0NjE5IDM1LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMTI5NTEyMjk4ODY4NjI5NDIgMS40NjA0Mzg2MDk5Mjk4Mzk0IEwgLTE0LjY0MzkwMzg0NjUzMjgzMyAwLjE3MzI5NjM3NTIzNjU5MTI4IEwgLTEzLjQ0MjQ4OTgzNDM0MDI1MiAzLjIyMzY4NTg5Mzk2NDg5OTYgTCAtMjcuNjU4MzM5MDM3MDMyNzU3IC0yLjQ1Mjc1MjkyNDUxMDkxMyBMIC0xMi42NjU0MTYwNDExMjg0NzUgLTUuNTM4OTQ1NzY1NjE0MTM3IEwgLTE0LjM4NDg3OTI0ODc5NTU3MiAtMi43NDc1ODA4NDQ2MjMwODc2IEwgMC4xMjk1MTIyOTg4Njg2Mjk0MiAtMS40NjA0Mzg2MDk5Mjk4Mzk0IEwgLTAuMTI5NTEyMjk4ODY4NjI5NDIgMS40NjA0Mzg2MDk5Mjk4Mzk0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszMS4yNjQ0MTMzNjkwODIwNjQsIDYuNjU3NjI5OTM1ODI0NjE5XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzNjZDA4NWZkYmZlYjQ4ZTI4Nzg4M2NkZDkwNDQ2YTJkLnNldEljb24oZGl2X2ljb25fZmFkNjYxODU3YTdhNDI4YWE4M2JjZjg3ZThhZmVlZmEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNzBkZmFiMjU1ZjM2NDUxZWJiZDUwMDViMzI4NWJhNjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDEwNzIsIC0zOC41MDMzOV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzE5ZDk1NjdmYzY5ZTQ2MjdhYWQ4NzI3YTI2YzgzMGYwID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzVweFwiIGhlaWdodD1cIjE2cHhcIiB2aWV3Qm94PVwiLTMwLjYzNDQzMzQ5OTk2Nzk4IC0zLjA0MTIxNDA4NzAyMTIxODggMzUuMCAxNi4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjU2NzY2NDk2OTMzMTYzMzQgMS4zNTE4MTc2MTAzMDMxNjM0IEwgLTE0LjEwMjUwODUwNzIwNzQ5IDcuNTEyMjIyMzIyNTc5MTg5NSBMIC0xMS42MTUzNjA5NTgyNDEwNjIgOS42NDgxOTI1NzM4NTM4ODIgTCAtMjYuODM2NTMxOTY5MjY3NTkzIDExLjI2OTM4OTQzNjI2MDcyNiBMIC0xNS4wMjEzNTA3NzQyMzA4NiAxLjUzNzI4NjkxMjAzNDkwMjIgTCAtMTUuMjM3ODM4NDQ1ODcwNzU3IDQuODA4NTg3MTAxOTcyODYzIEwgLTAuNTY3NjY0OTY5MzMxNjMzNCAtMS4zNTE4MTc2MTAzMDMxNjM0IEwgMC41Njc2NjQ5NjkzMzE2MzM0IDEuMzUxODE3NjEwMzAzMTYzNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMzAuNjM0NDMzNDk5OTY3OTgsIDMuMDQxMjE0MDg3MDIxMjE4OF0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl83MGRmYWIyNTVmMzY0NTFlYmJkNTAwNWIzMjg1YmE2My5zZXRJY29uKGRpdl9pY29uXzE5ZDk1NjdmYzY5ZTQ2MjdhYWQ4NzI3YTI2YzgzMGYwKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzk2MWQxMTVhNmExNTQ2MzE5YjczZmMxMjQ5NDgxZGE0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMTA1LCAtMzguNTA0MTc2NjY2NjY2NjY2XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fOTA2Mzk1Y2JjZThmNGUwMzkwMDNiYjBmMDk1YWVjZTYgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzNnB4XCIgaGVpZ2h0PVwiMTNweFwiIHZpZXdCb3g9XCItMzEuNjE2MDAxNjEwMDYyODEgLTMuMDk1OTMzNjU1NDI1MzYzIDM2LjAgMTMuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC40MTM3ODQ2NjEwMTQ4NDUyMyAxLjQwNjU2OTA5NjUwNDI4MDcgTCAtMTQuNTcyODgxMzUxNTg3MDkgNS44MTUzNDgyNTM2NTk4MzcgTCAtMTIuMzM4NzQyOTMzMDUzMTIgOC4yMTQ3MDE3ODU2NTM1NTQgTCAtMjcuNjQ1Nzg3ODgxMTQwNDY0IDguMTMyODQxMTA2Mjg5MTYzIEwgLTE0LjgyMTQ1MDg5OTE0MjE5IC0wLjIyNDcxMjc5MzM3MjEzMDc2IEwgLTE1LjQwMDQ1MDY3MzYxNjc4IDMuMDAyMjEwMDYwNjUxMjc1NCBMIC0wLjQxMzc4NDY2MTAxNDg0NTIzIC0xLjQwNjU2OTA5NjUwNDI4MDcgTCAwLjQxMzc4NDY2MTAxNDg0NTIzIDEuNDA2NTY5MDk2NTA0MjgwN1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMzEuNjE2MDAxNjEwMDYyODEsIDMuMDk1OTMzNjU1NDI1MzYzXSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzk2MWQxMTVhNmExNTQ2MzE5YjczZmMxMjQ5NDgxZGE0LnNldEljb24oZGl2X2ljb25fOTA2Mzk1Y2JjZThmNGUwMzkwMDNiYjBmMDk1YWVjZTYpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMDUyNWMxNGZhYThhNGVkZWE3MjliZDVlNjUwY2Y0NTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDExNCwgLTM4LjUwNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzY1ZjIyOWZiNTcyZTQzOWY4YmM3NDA3OGMzYjYwYTZkID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjdweFwiIGhlaWdodD1cIjE5cHhcIiB2aWV3Qm94PVwiLTIzLjE0NzMwMDY1ODYxNDY2OCAtMy4yNjY5NjQwMzcyNDA0ODcgMjcuMCAxOS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjgyNDM0NTk1NzQ4OTU1ODUgMS4yMTI0ODAxNDg4MjgyODU3IEwgLTguMzgyMjc5OTc3Nzc0NzYxIDcuNDcxOTE4NjA1NzY5NTcyIEwgLTUuNTIxMTA3OTEzOTY3MzU5IDkuMDcyNTMyOTQ1OTM2NTg1IEwgLTIwLjExODk0NzI3NDcxODg5IDEzLjY3ODU1MjA3NDM0NzMxMiBMIC0xMC40NjcxODM2NTg5MDQ3MSAxLjc5NzY1MjA1Mjk2Njg3MTYgTCAtMTAuMDMwOTcxODkyNzUzODc3IDUuMDQ2OTU4MzA4MTEzMDAxIEwgLTAuODI0MzQ1OTU3NDg5NTU4NSAtMS4yMTI0ODAxNDg4MjgyODU3IEwgMC44MjQzNDU5NTc0ODk1NTg1IDEuMjEyNDgwMTQ4ODI4Mjg1N1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjMuMTQ3MzAwNjU4NjE0NjY4LCAzLjI2Njk2NDAzNzI0MDQ4N10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl8wNTI1YzE0ZmFhOGE0ZWRlYTcyOWJkNWU2NTBjZjQ1MS5zZXRJY29uKGRpdl9pY29uXzY1ZjIyOWZiNTcyZTQzOWY4YmM3NDA3OGMzYjYwYTZkKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2UwMDZjMGU5YzU1ZDRmYjZiYjU0MmYwZTgwNTk5YTBiID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMTUzNSwgLTM4LjUwNTc4MzMzMzMzMzMzXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMjU2ZTJiZDhhM2ZmNGQ4MjljOGE1MDNiYjUwNDFjMDMgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyN3B4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMjMuNTc5OTE3NTcyOTc5MDUgLTYuOTMyNTA2NDkwODQxOTczIDI3LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMzI5ODY1NjUwODA1NTQ3NTMgMS40Mjg1ODA3NzE3Mjc4OTYyIEwgLTcuOTYyMzM5NTAyMDE4MTI4IC0wLjMzMzc5MTM2OTkxOTYyNTA1IEwgLTcuMTkzNDkwMDMxOTAxMzI2IDIuODUzMjM1ODI0MzQxNzE1NSBMIC0yMC40ODk3MDA3OTY3NjM2NDYgLTQuNzMxMTYyOTk4ODk3NDQ5IEwgLTUuMjE0Mjk2MTI3MDY4MDQxIC01LjcxODI0ODgwNjAyNTY2MiBMIC03LjMwMjYwODIwMDQwNzAzMiAtMy4xOTA5NTI5MTMzNzU0MTc4IEwgMC4zMjk4NjU2NTA4MDU1NDc1MyAtMS40Mjg1ODA3NzE3Mjc4OTYyIEwgLTAuMzI5ODY1NjUwODA1NTQ3NTMgMS40Mjg1ODA3NzE3Mjc4OTYyXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyMy41Nzk5MTc1NzI5NzkwNSwgNi45MzI1MDY0OTA4NDE5NzNdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfZTAwNmMwZTljNTVkNGZiNmJiNTQyZjBlODA1OTlhMGIuc2V0SWNvbihkaXZfaWNvbl8yNTZlMmJkOGEzZmY0ZDgyOWM4YTUwM2JiNTA0MWMwMyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8zMTU1MGIxZjU2Nzg0YWFlYTRlZmIwODFlNmJmMmY3MCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTEzNywgLTM4LjUwNjY0NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzNhMzI4ZTEwMmU1YzQxNGViYjkwNDJhMDg3ZTI1NmVmID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzJweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTI4LjU0MDQ1MTg4NDgzNDkxIC01LjUwMDAwMTUzNTMzOTI1IDMyLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTIuMTYwNDk5MjMzMjUzNDA0ZS0wNyAxLjQ2NjE2OTk2NTkwODQ1MjQgTCAtMTEuODg1Mzc0NTA4NTkzNTkzIDEuNDY2MTY4MjE0NTE5Mjc5IEwgLTEwLjQxOTIwNDk3NDc4NDk5IDQuMzk4NTA4MzYyMzg2MTA2NSBMIC0yNS4wODA5MDM5ODU3MTk3NDMgLTMuNjk1ODM4NDgzMjg3NjMzZS0wNiBMIC0xMC40MTkyMDM2Nzg0ODU0NSAtNC4zOTg1MTE0MzMwNjQ2MDY1IEwgLTExLjg4NTM3NDA3NjQ5Mzc0OSAtMS40NjYxNzE3MTcyOTc2MjU2IEwgMi4xNjA0OTkyMzMyNTM0MDRlLTA3IC0xLjQ2NjE2OTk2NTkwODQ1MjQgTCAtMi4xNjA0OTkyMzMyNTM0MDRlLTA3IDEuNDY2MTY5OTY1OTA4NDUyNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjguNTQwNDUxODg0ODM0OTEsIDUuNTAwMDAxNTM1MzM5MjVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMzE1NTBiMWY1Njc4NGFhZWE0ZWZiMDgxZTZiZjJmNzAuc2V0SWNvbihkaXZfaWNvbl8zYTMyOGUxMDJlNWM0MTRlYmI5MDQyYTA4N2UyNTZlZik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8xZjE5OTE4NTQ2MTM0ZmEyYTFkMmI3MWFmMzUxNGZhYyA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTEzMDUsIC0zOC41MDc0NzY2NjY2NjY2N10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2EzZTEyYTdlMzUxMzQwYjdiZTE3OTJmYmE3NDM2OTIwID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjdweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTI0LjE3MzIyMjMxOTUxNTU4OCAtNS41MDAwMDExMzgyNjQ5NDQgMjcuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMi40OTY1NjQ2NjQwNjM1MzllLTA3IDEuNDY2MTY5OTY1OTA4NDQ2OCBMIC04LjE1MDkxNTQ0NTE2ODA4OSAxLjQ2NjE2ODU3Nzk4NzAzNzMgTCAtNi42ODQ3NDU5Nzg1NzI1NzQgNC4zOTg1MDg3NTk0NjAzOTcgTCAtMjEuMzQ2NDQ0ODg4Njg3NjQ2IC0zLjYzNDgyOTYwNzE4MzgzMmUtMDYgTCAtNi42ODQ3NDQ0ODA2MzM3NzUgLTQuMzk4NTExMDM1OTkwMjg0IEwgLTguMTUwOTE0OTQ1ODU1MTU0IC0xLjQ2NjE3MTM1MzgyOTg1NjYgTCAyLjQ5NjU2NDY2NDA2MzUzOWUtMDcgLTEuNDY2MTY5OTY1OTA4NDQ2OCBMIC0yLjQ5NjU2NDY2NDA2MzUzOWUtMDcgMS40NjYxNjk5NjU5MDg0NDY4XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyNC4xNzMyMjIzMTk1MTU1ODgsIDUuNTAwMDAxMTM4MjY0OTQ0XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzFmMTk5MTg1NDYxMzRmYTJhMWQyYjcxYWYzNTE0ZmFjLnNldEljb24oZGl2X2ljb25fYTNlMTJhN2UzNTEzNDBiN2JlMTc5MmZiYTc0MzY5MjApOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfOGU5NjZmYmJiZWU1NDQ0OWJlYTI1M2YwODc3ZjhhOTcgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDEwOTY1LCAtMzguNTA4Mjg1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMjRhODVmM2JiNjNjNDIzMzlkMzhmMDdiMjYyOWU0NDcgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzNHB4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMzAuMDI0MjkzMzE2MDczODk0IC04LjQxMTc1MTQzMDAxODAyMiAzNC4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjM0ODU2ODEwNTI0MjkyNjc1IDEuNDI0MTMyOTQ0OTY2NjU0IEwgLTEzLjkyODUyNjMzNzkzMzc1OSAtMS44OTk2NzIxMzAzNzkwMDc0IEwgLTEzLjIwMTUyOTYwMzQ1Mjk2IDEuMjk3MTYxODY0Nzk3MjI3NiBMIC0yNi4zOTcxNTQ3MzczOTA3MTQgLTYuNDYwOTE4MDIyNTMyMDAyIEwgLTExLjExMDEyMDk3MTk5NTM5OCAtNy4yNDc2MzU4MDUwMDI2OTcgTCAtMTMuMjMxMzkwMTI3NDQ3OTA4IC00Ljc0NzkzODAyMDMxMjMxNSBMIDAuMzQ4NTY4MTA1MjQyOTI2NzUgLTEuNDI0MTMyOTQ0OTY2NjU0IEwgLTAuMzQ4NTY4MTA1MjQyOTI2NzUgMS40MjQxMzI5NDQ5NjY2NTRcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMwLjAyNDI5MzMxNjA3Mzg5NCwgOC40MTE3NTE0MzAwMTgwMjJdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfOGU5NjZmYmJiZWU1NDQ0OWJlYTI1M2YwODc3ZjhhOTcuc2V0SWNvbihkaXZfaWNvbl8yNGE4NWYzYmI2M2M0MjMzOWQzOGYwN2IyNjI5ZTQ0Nyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9kNzQ3YjExMzIzMTQ0ZTM4OGY1NTEwOTdkN2JlMjgwYSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTA3NDUsIC0zOC41MDkxM10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzM0ZGVlNzBlNzkyNzQ4N2U5OTk0ZmM3NzM2OGFmZDYwID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjVweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTIxLjgxOTA3ODYyMzM3ODY1OCAtNi44OTY5Mjc5MTI1OTMyNzIgMjUuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4zOTk2MTgwNjkxOTA3MjY4NCAxLjQxMDY1OTMzNzkzNjgwODQgTCAtNi43NDE0NTkzNDM3MDc0OTUgLTAuMzg1ODg2NjQzODQ3MTkwNiBMIC02LjEzMDAzNjE0NDE1MjE0MDUgMi44MzUwNTAxMDEyMTcxNTMgTCAtMTkuMDM3Nzc1MzE1OTQ4MDQzIC01LjM5MzEwODYwNDUwMDU0MSBMIC0zLjczMjMyNzcyOTAwNzc3ODggLTUuNjI4OTA1OTI2NDAzNjk3IEwgLTUuOTQyMjIzMjA1MzI2MDQzIC0zLjIwNzIwNTMxOTcyMDgwNzIgTCAwLjM5OTYxODA2OTE5MDcyNjg0IC0xLjQxMDY1OTMzNzkzNjgwODQgTCAtMC4zOTk2MTgwNjkxOTA3MjY4NCAxLjQxMDY1OTMzNzkzNjgwODRcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzIxLjgxOTA3ODYyMzM3ODY1OCwgNi44OTY5Mjc5MTI1OTMyNzJdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfZDc0N2IxMTMyMzE0NGUzODhmNTUxMDk3ZDdiZTI4MGEuc2V0SWNvbihkaXZfaWNvbl8zNGRlZTcwZTc5Mjc0ODdlOTk5NGZjNzczNjhhZmQ2MCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl85NGY0MTgzNmJiMjM0MzE1YTQwYWVmYTU3N2QwYzhiMSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTA1MywgLTM4LjUwOTg5NjY2NjY2NjY3XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fYzYzMjY2OThiZDAzNGQ2ODhiN2UwOTMyMjliZTk2ZjQgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzM3B4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMjkuMjgxODA0MzM1NTY0ODQzIC03LjI5NDYzOTk4MDE0MDg2NSAzMy4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjIyOTcxOTQ5NjgyOTMzNzIzIDEuNDQ4MDYxOTE5MTU1NTcxIEwgLTEyLjk5MDQ5MDM5MjM4ODIyMSAtMC41NzYyOTc1NTc4MTQ2MzA4IEwgLTEyLjAwMTg2NzQ2Njg5MTMyNSAyLjU0OTU0NTc3NzMyNTg0OCBMIC0yNS43OTMzMjgxNjc5NTkwMjUgLTQuMDkxODM0OTQ4NDM0MjM2NSBMIC0xMC42MjM1NTA0ODU5MTUzMDIgLTYuMTM4ODI1NzM3NjA3NTc3IEwgLTEyLjUzMTA1MTM5ODcyOTU0NyAtMy40NzI0MjEzOTYxMjU3NzI0IEwgMC4yMjk3MTk0OTY4MjkzMzcyMyAtMS40NDgwNjE5MTkxNTU1NzEgTCAtMC4yMjk3MTk0OTY4MjkzMzcyMyAxLjQ0ODA2MTkxOTE1NTU3MVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjkuMjgxODA0MzM1NTY0ODQzLCA3LjI5NDYzOTk4MDE0MDg2NV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl85NGY0MTgzNmJiMjM0MzE1YTQwYWVmYTU3N2QwYzhiMS5zZXRJY29uKGRpdl9pY29uX2M2MzI2Njk4YmQwMzRkNjg4YjdlMDkzMjI5YmU5NmY0KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzVmZGFhNTQ4ZTQyZDRmMzZiZDU4Y2RhZDEzYzljODAyID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMDQyNSwgLTM4LjUxMDddLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8wNGYyMzBhOTFiODE0M2U1Yjg2MDU1YmQzNTQxMDliOCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMycHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yOC40NjM5OTk0MTY1MzkxNTMgLTYuODc3MTg5MDE4NjI5NDA1IDMyLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMTg5MjgzNjY0MzY2NjA5NjUgMS40NTM5MDAyOTM0NjQ0NDEyIEwgLTEyLjIyMTQ2MzUyMDYzMTU1NiAtMC4xMTI1NzIzODk1MzE1NzMgTCAtMTEuMTQ2MTMwNTU1OTAwMzMzIDIuOTg0NTExODYxNzYzOTE4NCBMIC0yNS4xMTcyODI0OTc0NDQ5MTUgLTMuMjcwMDI1NjYyMjk1NTAxIEwgLTEwLjAxMDQyODU2OTcwMDY3NSAtNS43Mzg4ODk4OTkwMjI3MjkgTCAtMTEuODQyODk2MTkxODk4MzM1IC0zLjAyMDM3Mjk3NjQ2MDQ1NTcgTCAwLjE4OTI4MzY2NDM2NjYwOTY1IC0xLjQ1MzkwMDI5MzQ2NDQ0MTIgTCAtMC4xODkyODM2NjQzNjY2MDk2NSAxLjQ1MzkwMDI5MzQ2NDQ0MTJcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzI4LjQ2Mzk5OTQxNjUzOTE1MywgNi44NzcxODkwMTg2Mjk0MDVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfNWZkYWE1NDhlNDJkNGYzNmJkNThjZGFkMTNjOWM4MDIuc2V0SWNvbihkaXZfaWNvbl8wNGYyMzBhOTFiODE0M2U1Yjg2MDU1YmQzNTQxMDliOCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9kMmI5YjliZTAyOGU0ZmY5OTE4MTRiOTkxNjU5NjAyYiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTAyODE2NjY2NjY2NjYsIC0zOC41MTE1MzgzMzMzMzMzMzRdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9mYmRkZGE1YzJlODI0NDI0OWFkMDdhNTc0YWY3NzIzYyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMxcHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yNy4yODM4ODQ4MTM5Njg5MjUgLTcuNDg0NzA4MDgyMjg4OTg0IDMxLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMjk5Mzk4NTM1NTIxNjQxOSAxLjQzNTI3NTE5NTE2NjI1NjMgTCAtMTEuMjQ5MDg5OTQyNDg0ODI2IC0wLjg0ODgzMTQyMjY0NDM2OTYgTCAtMTAuNDEyNjExODE4MzYxODUzIDIuMzIxMTE3NTAzMjA5Nzg1IEwgLTIzLjg2NzE2ODE2MzQ1OTQ5IC00Ljk3ODY5MzQzNzUwNTQwMyBMIC04LjYxNjIyMDYwNTIzMjAwMiAtNi4yOTA1MzM2Njc3ODc3NTMgTCAtMTAuNjUwMjkyODcxNDQxNTQxIC0zLjcxOTM4MTgxMjk3Njg4MjUgTCAwLjI5OTM5ODUzNTUyMTY0MTkgLTEuNDM1Mjc1MTk1MTY2MjU2MyBMIC0wLjI5OTM5ODUzNTUyMTY0MTkgMS40MzUyNzUxOTUxNjYyNTYzXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyNy4yODM4ODQ4MTM5Njg5MjUsIDcuNDg0NzA4MDgyMjg4OTg0XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2QyYjliOWJlMDI4ZTRmZjk5MTgxNGI5OTE2NTk2MDJiLnNldEljb24oZGl2X2ljb25fZmJkZGRhNWMyZTgyNDQyNDlhZDA3YTU3NGFmNzcyM2MpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYTJlNTE4N2ZiZGI1NDY3OGI1YjNhNjNkZjg2NTJmNWYgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDEwMDA1LCAtMzguNTEyMzU1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMDg5ZDg3YjM3ZTVmNDU2MDg5NmM4OWY1ZGE3YmE4OTEgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMTJweFwiIHZpZXdCb3g9XCItMjAuOTQ3NTk1NTA4MzQzODUgLTMuNTkwMjQxMjg3NzA4NTYwOCAyNC4wIDEyLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuNTI3MDk5MDAxMDMwNTExOCAxLjM2ODE0NTA5OTA0NjM5NyBMIC01LjU4MTg4NTEyNTI3MDEyMiAzLjcyMTcyNTQ1NTc4NTM4NSBMIC0zLjE1OTU0MjAyNDE2MjcwMiA1LjkzMDkxNjY1Mjg0NzY2NyBMIC0xOC40MjIyOTAwMTc3MTgyMDggNy4wOTc0NzEzNjYwMTM1OTMgTCAtNi4zMjIxMzYwMzAzNDU3NzIgLTIuMjc3OTUzOTQxNDMwNzE1IEwgLTYuNjM2MDgzMTI3MzMxMTQ1IDAuOTg1NDM1MjU3NjkyNTkxMSBMIC0wLjUyNzA5OTAwMTAzMDUxMTggLTEuMzY4MTQ1MDk5MDQ2Mzk3IEwgMC41MjcwOTkwMDEwMzA1MTE4IDEuMzY4MTQ1MDk5MDQ2Mzk3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyMC45NDc1OTU1MDgzNDM4NSwgMy41OTAyNDEyODc3MDg1NjA4XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2EyZTUxODdmYmRiNTQ2NzhiNWIzYTYzZGY4NjUyZjVmLnNldEljb24oZGl2X2ljb25fMDg5ZDg3YjM3ZTVmNDU2MDg5NmM4OWY1ZGE3YmE4OTEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMzA0MTcwNjExZDdhNGQxODk0MjkxNzY3OWNjM2EwMGQgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5ODcxNjY2NjY2NjY3LCAtMzguNTEzMTU1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fNWYzNTVmYmJmZjg3NGE0YWI4YjViN2E0ZWRmY2M1NmMgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzMHB4XCIgaGVpZ2h0PVwiMTVweFwiIHZpZXdCb3g9XCItMjYuMTU2MzYzODEzMjg1NzkzIC0xMS44MzI2NTY5NjM5NzAyNjkgMzAuMCAxNS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC41ODcxNzkwOTM4Mzk2NjY1IDEuMzQzNDU2MzkzMjk2NjU5IEwgLTExLjM5NTk3ODI3NDU4MDk5IC0zLjM4MDcwMjA4MzM4MzU0IEwgLTExLjIyNjg4MDA2ODk2MzY2NSAtMC4xMDY2MTAyMDI5NTA1NTY4MyBMIC0yMi44OTk5MDY3MjA0MTEyNTYgLTEwLjAwODc3MDMyMTIzNzE5NyBMIC03LjcwMzgwNTUwNTkyNTY2NSAtOC4xNjczNDg1NjI3MzA1MSBMIC0xMC4yMjE2MjAwODY5MDE2NTcgLTYuMDY3NjE0ODY5OTc2ODU4IEwgMC41ODcxNzkwOTM4Mzk2NjY1IC0xLjM0MzQ1NjM5MzI5NjY1OSBMIC0wLjU4NzE3OTA5MzgzOTY2NjUgMS4zNDM0NTYzOTMyOTY2NTlcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzI2LjE1NjM2MzgxMzI4NTc5MywgMTEuODMyNjU2OTYzOTcwMjY5XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzMwNDE3MDYxMWQ3YTRkMTg5NDI5MTc2NzljYzNhMDBkLnNldEljb24oZGl2X2ljb25fNWYzNTVmYmJmZjg3NGE0YWI4YjViN2E0ZWRmY2M1NmMpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfOWUxMGYzZTkwZmNlNGJhM2I0NThkMDU4ZGY2MTk0ZDUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5NzYsIC0zOC41MTQwMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzIwZmE0Njk0NjNmODQ3ZGNiZDVkNDNkZjg2NTM5NjVkID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzRweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTMwLjIyNDU5MDUwMjkzNTUwMiAtNy43MDk4MzAzNDU3NjU3NDYgMzQuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4yNTk2OTIxODg2ODU2NzYgMS40NDI5ODc5ODg4ODU0NTI0IEwgLTEzLjk4MTY3MzQ4MzI3MzI4OSAtMS4wMjY1MzQ1NDU1NjU5NzAyIEwgLTEzLjA1ODA2OTg3MTc1OTE4NSAyLjExOTEzMzYyMDg5MDYxIEwgLTI2LjcwODg3MzE5NDU1NjY4IC00LjgwNjc1MjIzMjYyMjUwNjUgTCAtMTEuNDk5OTE2NzM5NjQ1MTMgLTYuNTM4Nzk0MzEyNDIyMTAzIEwgLTEzLjQ2MjI4OTEwNTkwMTkzNiAtMy45MTI1MTA1MjMzMzY4NzUgTCAwLjI1OTY5MjE4ODY4NTY3NiAtMS40NDI5ODc5ODg4ODU0NTI0IEwgLTAuMjU5NjkyMTg4Njg1Njc2IDEuNDQyOTg3OTg4ODg1NDUyNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMzAuMjI0NTkwNTAyOTM1NTAyLCA3LjcwOTgzMDM0NTc2NTc0Nl0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl85ZTEwZjNlOTBmY2U0YmEzYjQ1OGQwNThkZjYxOTRkNS5zZXRJY29uKGRpdl9pY29uXzIwZmE0Njk0NjNmODQ3ZGNiZDVkNDNkZjg2NTM5NjVkKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzc4M2RmNGIxNWMyOTQzMjhiOWUwMzNkN2M4NGM5ZDk1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTQ5LCAtMzguNTE0ODU1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fOTJlZGFhN2NiMTI3NDg5ODgwY2ViNjk1ODk1NDBkZDcgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyM3B4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMjAuMzMyMzI3NjQxODgyNDYgLTYuMjMyNTg2MDU3NzIwOTE3IDIzLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMjkzMDEyOTYzMTg5NTQ4OTUgMS40MzY1OTI0MTY5MTQwMzg1IEwgLTUuMzIxMzQ5NDU3OTE3Njc2IDAuNDEwOTkzMzk2MDAzNTcyMjYgTCAtNC40NzA3ODI5NjczODI3MzU1IDMuNTc3MTkxMTkzMDIxMTk4IEwgLTE3Ljk1NzY2ODI0Njk1NDQ3MyAtMy42NjI3MTU2ODk2MTY0MDcgTCAtMi43MTI3MDUxODgyNDU0NDE2IC01LjA0MjM2MzMwODQ2MzAzMyBMIC00LjczNTMyMzUzMTUzODU3OCAtMi40NjIxOTE0Mzc4MjQ1MDUgTCAwLjI5MzAxMjk2MzE4OTU0ODk1IC0xLjQzNjU5MjQxNjkxNDAzODUgTCAtMC4yOTMwMTI5NjMxODk1NDg5NSAxLjQzNjU5MjQxNjkxNDAzODVcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzIwLjMzMjMyNzY0MTg4MjQ2LCA2LjIzMjU4NjA1NzcyMDkxN10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl83ODNkZjRiMTVjMjk0MzI4YjllMDMzZDdjODRjOWQ5NS5zZXRJY29uKGRpdl9pY29uXzkyZWRhYTdjYjEyNzQ4OTg4MGNlYjY5NTg5NTQwZGQ3KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzgzNmZhMTU4ZGFmYjQ4YzNhYjk0OTQzMjAyMDAzYzQ1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwODkxLCAtMzguNTE1NDI1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fNDhlZjE1MzMxYWEzNGNmNmE2ODJjMDIwMWFhMGVmMjcgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIxN3B4XCIgaGVpZ2h0PVwiMTlweFwiIHZpZXdCb3g9XCItMTMuOTkzNDYwMTgwOTQwODM1IC0xNS45NTQ5NTg2MzY5ODE0MiAxNy4wIDE5LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0xLjEwNTI1NjU5NjcxMzc2NzUgMC45NjMzNTk4NjIzMzIyMTIzIEwgLTQuNTI3MTk0Nzk0MzE5MjkzIC0yLjk2MjYwNzkwMzUzODkzMDYgTCAtNS43NzQzNDgxMjU0MTQ2MTUgMC4wNjkzNjg0MTc4MzkyNjE2NSBMIC0xMi4wOTIxNzY5NTg1OTU0MzYgLTEzLjg3MzI3NzEzNjI5NTA1MyBMIDAuODU3MTkxNDU0ODY3OTkwMiAtNS43MTA3OTA3NTYxNTQwMTIgTCAtMi4zMTY2ODE2MDA4OTE3NTcyIC00Ljg4OTMyNzYyODIwMzM1NSBMIDEuMTA1MjU2NTk2NzEzNzY3NSAtMC45NjMzNTk4NjIzMzIyMTIzIEwgLTEuMTA1MjU2NTk2NzEzNzY3NSAwLjk2MzM1OTg2MjMzMjIxMjNcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzEzLjk5MzQ2MDE4MDk0MDgzNSwgMTUuOTU0OTU4NjM2OTgxNDJdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfODM2ZmExNThkYWZiNDhjM2FiOTQ5NDMyMDIwMDNjNDUuc2V0SWNvbihkaXZfaWNvbl80OGVmMTUzMzFhYTM0Y2Y2YTY4MmMwMjAxYWEwZWYyNyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8yZmViYTBmNWFkYzM0YzI4OWJiNDRhMTIyYjZlMTBiOSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDgzMiwgLTM4LjUxNjAxMTY2NjY2NjY2NF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzk1NDM0NjNkZmQ5MDRmYzdhMmEzOTE0ZjY0M2MxMGUwID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMThweFwiIGhlaWdodD1cIjE3cHhcIiB2aWV3Qm94PVwiLTE0LjgyNzY5MDI1MDAwNDQxNiAtMTQuMDM2MDcwNzIwMzI2MzUgMTguMCAxNy4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMS4wMTcxMDMzMzEwMTIwNDkyIDEuMDU2MDA5MDgyODA5NTMzOSBMIC00LjE4NTUwNTQxNjc0NzEyNSAtMS45OTU2NjE5Mzc2ODI5MTk3IEwgLTUuMTYzNzAyOTk1OTYxNjg5IDEuMTMzNDU5NTU4OTQ4MTk3IEwgLTEyLjY3MjQ4MzgzMTAyMDg4IC0xMi4yMDU2MDA5OTk2MDA4OTUgTCAwLjkzODkxNjk5MDExMDYwNDkgLTUuMjAyNTk0OTM3OTA5MDA2IEwgLTIuMTUxMjk4NzU0NzIzMDI3IC00LjEwNzY4MDEwMzMwMTk4OCBMIDEuMDE3MTAzMzMxMDEyMDQ5MiAtMS4wNTYwMDkwODI4MDk1MzM5IEwgLTEuMDE3MTAzMzMxMDEyMDQ5MiAxLjA1NjAwOTA4MjgwOTUzMzlcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzE0LjgyNzY5MDI1MDAwNDQxNiwgMTQuMDM2MDcwNzIwMzI2MzVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMmZlYmEwZjVhZGMzNGMyODliYjQ0YTEyMmI2ZTEwYjkuc2V0SWNvbihkaXZfaWNvbl85NTQzNDYzZGZkOTA0ZmM3YTJhMzkxNGY2NDNjMTBlMCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl80ZjMyMWFkODJjN2M0NmYxYjVmMDgzZjU5ZmE3ZDZlMSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDc5MjY2NjY2NjY2NjYsIC0zOC41MTY3NTE2NjY2NjY2NjRdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl84ZGRmNjU4ODgxY2E0MDAyYWEyNzg2NzMxZjFhMzM5OCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMzcHhcIiBoZWlnaHQ9XCIxNHB4XCIgdmlld0JveD1cIi0yOS4wNDU3NDgyNDE3OTg4NjUgLTEwLjgzNDI1NDk5OTgzNjg5IDMzLjAgMTQuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuNDg5MDQxNzMwMjk4MTI3OCAxLjM4MjIwNTY4NDc1MTM4NzcgTCAtMTMuNjI5NzI4NzgxNDMxNSAtMy4yNjcxMzQ0MjY5OTA2Mjk1IEwgLTEzLjIyNTYwNjU1NzI3NjM2NiAtMC4wMTM2ODEzMjcxODk3MjU3NTMgTCAtMjUuNTgwNTM4MjEzODk1ODU2IC05LjA1MDcxNTY4NDQyNTE2NyBMIC0xMC4yOTEzNTYxNzU0ODc2MDIgLTguMzA2OTE1NDM1Njk4MDU0IEwgLTEyLjY1MTY0NTMyMDgzNTI0NSAtNi4wMzE1NDU3OTY0OTM0MDQgTCAwLjQ4OTA0MTczMDI5ODEyNzggLTEuMzgyMjA1Njg0NzUxMzg3NyBMIC0wLjQ4OTA0MTczMDI5ODEyNzggMS4zODIyMDU2ODQ3NTEzODc3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyOS4wNDU3NDgyNDE3OTg4NjUsIDEwLjgzNDI1NDk5OTgzNjg5XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzRmMzIxYWQ4MmM3YzQ2ZjFiNWYwODNmNTlmYTdkNmUxLnNldEljb24oZGl2X2ljb25fOGRkZjY1ODg4MWNhNDAwMmFhMjc4NjczMWYxYTMzOTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfOWIwZGNlYzRlZDdhNDRmN2FkY2M1NDQ0ODBhN2RhZjMgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA3OTU2NjY2NjY2NjY3LCAtMzguNTE3NTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9jZTFhMWM0ODIzODU0MjRhYWFjMDMzZDE3MGYwZGQyYiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMycHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yOC4zMDA3NTY2MDk1NTgxOTIgLTMuOTY1OTI4MDY5ODIwNzAyIDMyLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4yMTU2ODAxODkwODg2MjgzIDEuNDUwMjE5NDQwMjgwMjQgTCAtMTEuNTQ5NTM4MjU2NTk0MjIzIDMuMTk5OTcxNTU5NTQ4MTY1MyBMIC05LjY2Nzk1ODQzODEzNjcyNiA1Ljg4NDczMDI1MTAyMDAxNzUgTCAtMjQuODE3MTkzNDA4MjA1MDE0IDMuNjkwODczODIxMDY1NTggTCAtMTAuOTYyMDM5NTcyNjY4NDk2IC0yLjgxNjU4NjM5MDY2MTQyMjQgTCAtMTEuOTgwODk4NjM0NzcxNDggMC4yOTk1MzI2Nzg5ODc2ODU2IEwgLTAuMjE1NjgwMTg5MDg4NjI4MyAtMS40NTAyMTk0NDAyODAyNCBMIDAuMjE1NjgwMTg5MDg4NjI4MyAxLjQ1MDIxOTQ0MDI4MDI0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyOC4zMDA3NTY2MDk1NTgxOTIsIDMuOTY1OTI4MDY5ODIwNzAyXSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzliMGRjZWM0ZWQ3YTQ0ZjdhZGNjNTQ0NDgwYTdkYWYzLnNldEljb24oZGl2X2ljb25fY2UxYTFjNDgyMzg1NDI0YWFhYzAzM2QxNzBmMGRkMmIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfOGZkMjQ5NDM3ZjFmNDU5MWE1ODgwMWU4ZDgxOGZiYjUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA4MDAxNjY2NjY2NjY3LCAtMzguNTE4MzYxNjY2NjY2NjY0XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fYTFmNjdlZjgyZmU0NDY0YWIyMjA1NmJkYjBjOTMwNzggPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyOXB4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMjYuMDYwMjA0NjkxMTMxNzAyIC01LjI5ODQ2NzQzODAxOTI5NiAyOS4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuMDM0NzYyNTM3MzM5NTQ0MjM2IDEuNDY1NzU3ODAyMjc0OTAzNiBMIC05LjkyODU4OTE2MTc4OTI3IDEuNzAyMDUyOTAxNTk1MTUxOCBMIC04LjM5MzMwNjI4NDgzNTI3OCA0LjU5ODgwNTk2ODgwNTQxNSBMIC0yMy4xNTUxNzE5MTk2MDI5NDYgMC41NDkxNTc5MzUzNzYxNDYyIEwgLTguNjAxODgxNTA4ODcyNTQ1IC00LjE5NTc0MDg0NDg0NDAwNyBMIC05Ljk5ODExNDIzNjQ2ODM1OSAtMS4yMjk0NjI3MDI5NTQ2NTU3IEwgLTAuMDM0NzYyNTM3MzM5NTQ0MjM2IC0xLjQ2NTc1NzgwMjI3NDkwMzYgTCAwLjAzNDc2MjUzNzMzOTU0NDIzNiAxLjQ2NTc1NzgwMjI3NDkwMzZcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzI2LjA2MDIwNDY5MTEzMTcwMiwgNS4yOTg0Njc0MzgwMTkyOTZdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfOGZkMjQ5NDM3ZjFmNDU5MWE1ODgwMWU4ZDgxOGZiYjUuc2V0SWNvbihkaXZfaWNvbl9hMWY2N2VmODJmZTQ0NjRhYjIyMDU2YmRiMGM5MzA3OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9hOThiYjc3NmI0YzI0Zjc3OTUzNTYwOTEzNjIxY2Y4OSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDc5OTUsIC0zOC41MTkyMTE2NjY2NjY2Nl0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzE3ZWY1MTI4N2NjZTQ4ZjhiMDA2NWZhMWM2OWNhMmQwID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjdweFwiIGhlaWdodD1cIjE0cHhcIiB2aWV3Qm94PVwiLTIzLjQzMjQ1ODUyMjczMjY3NCAtMi44NDEzMDYyMjg0ODg1MDA1IDI3LjAgMTQuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC42MjQzOTMwODAwNzAyMjYyIDEuMzI2NTY5ODgxNDk2MDU0IEwgLTcuOTI1Nzg4MTEyMDAwODYyIDUuMzUwOTg5NTg1MzgzMDcgTCAtNS4zNTA0MzIwNzAzNjQzNTQgNy4zNzk3MzYyNjgzMDQ5NTEgTCAtMjAuNDg5MzEwMTI1NTM1NTcgOS42NDM5NTc0MjQ1MTkwNTMgTCAtOS4wOTY3OTA1NTA3ODU3MTMgLTAuNTc5NjgzMDIwNjcxMzcyMyBMIC05LjE3NDU3NDI3MjE0MTMxNCAyLjY5Nzg0OTgyMjM5MDk2MiBMIC0wLjYyNDM5MzA4MDA3MDIyNjIgLTEuMzI2NTY5ODgxNDk2MDU0IEwgMC42MjQzOTMwODAwNzAyMjYyIDEuMzI2NTY5ODgxNDk2MDU0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyMy40MzI0NTg1MjI3MzI2NzQsIDIuODQxMzA2MjI4NDg4NTAwNV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9hOThiYjc3NmI0YzI0Zjc3OTUzNTYwOTEzNjIxY2Y4OS5zZXRJY29uKGRpdl9pY29uXzE3ZWY1MTI4N2NjZTQ4ZjhiMDA2NWZhMWM2OWNhMmQwKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzQ5NWU0MjI5NDc4ZTRlZTk4MzA2MWM3YmIzYmMwNDU4ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwODQzMTY2NjY2NjY2NywgLTM4LjUxOTk3MTY2NjY2NjY2XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fYTRjM2M3MTFjMDNmNDkwNmE1MGU0YmNlZDc2YzQzZjIgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyMnB4XCIgaGVpZ2h0PVwiMTlweFwiIHZpZXdCb3g9XCItMTguODcwODQ1MzcwNzI5MzkgLTMuMzUyODM2NTgzMjM4MDkxNSAyMi4wIDE5LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuOTIwMzMxNDY1Mjk2MTQzNSAxLjE0MTMzNDQ2NTg0MTU4MzQgTCAtNS40Njk2ODA1NDg4ODQ1MzUgNi4yOTQwMTI1Nzc1NDE2OTQgTCAtMi40ODc2ODMxNTI0NTA2NjMzIDcuNjU2MzUwMDQzOTI4NzE2IEwgLTE2LjY2MjAyMjIwNjc1NDkyNiAxMy40MzU2NjEyOTkzNjU0MDEgTCAtOC4wMDk2NzE5NDQyMjc1MjQgMC44MDgzNDMyNDg4NzkyMTczIEwgLTcuMzEwMzQzNDc5NDc2ODIxIDQuMDExMzQzNjQ1ODU4NTI4IEwgLTAuOTIwMzMxNDY1Mjk2MTQzNSAtMS4xNDEzMzQ0NjU4NDE1ODM0IEwgMC45MjAzMzE0NjUyOTYxNDM1IDEuMTQxMzM0NDY1ODQxNTgzNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMTguODcwODQ1MzcwNzI5MzksIDMuMzUyODM2NTgzMjM4MDkxNV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl80OTVlNDIyOTQ3OGU0ZWU5ODMwNjFjN2JiM2JjMDQ1OC5zZXRJY29uKGRpdl9pY29uX2E0YzNjNzExYzAzZjQ5MDZhNTBlNGJjZWQ3NmM0M2YyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzUxY2IxMTljMGI3YTQyYjliOTgyZTE2MjE2MWE2Y2EwID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwODk4ODMzMzMzMzMzMywgLTM4LjUyMDU5NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzg5MjA5OTBkYmZlYzQ1ZTJhZTA3NGFjM2RlM2ZhMmE4ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjBweFwiIGhlaWdodD1cIjIxcHhcIiB2aWV3Qm94PVwiLTE2Ljg1OTI0NDQzNDAwNDE1NyAtMy4yNDAyODk3OTY1MjEzOTI2IDIwLjAgMjEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMS4wNjIwNTUyMjAwMTYzOTczIDEuMDEwNzg4MzQ1MDg5MDk5NSBMIC00LjYyMTM5Mzc2MjIwNjQxOSA2Ljk4MjUwMDExNjk4NzgzOCBMIC0xLjQ4NjQ5NDk3NzA4NDUyNDggNy45NDIwMjE1ODcxNDk2NDEgTCAtMTQuNzgwNTQ0MDg4MDI0NzE0IDE1LjUzMDIwODc1MjA0NjMxMyBMIC03Ljg1ODgyNjI5NzE4MjkwOCAxLjg3NzI5MTUxNjYxNTA0MjggTCAtNi43NDU1MDQyMDIyMzkyMTQgNC45NjA5MjM0MjY4MDk2MzkgTCAtMS4wNjIwNTUyMjAwMTYzOTczIC0xLjAxMDc4ODM0NTA4OTA5OTUgTCAxLjA2MjA1NTIyMDAxNjM5NzMgMS4wMTA3ODgzNDUwODkwOTk1XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsxNi44NTkyNDQ0MzQwMDQxNTcsIDMuMjQwMjg5Nzk2NTIxMzkyNl0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl81MWNiMTE5YzBiN2E0MmI5Yjk4MmUxNjIxNjFhNmNhMC5zZXRJY29uKGRpdl9pY29uXzg5MjA5OTBkYmZlYzQ1ZTJhZTA3NGFjM2RlM2ZhMmE4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2QxZmFjNzk3NWVlZTQwNjRhMjdiNjNjOTM1ZDdiYWRhID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTUzNjY2NjY2NjY2NywgLTM4LjUyMTI0NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzAwMDA5ZDZkZGE3MTQ2OWI4OGY1YTMzY2NkOTQ1NWFkID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzNweFwiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiLTI4LjcyMDI5ODc3NzMxODc1MyAtMy43MzcyMjI1MjU5MTYzMTA1IDMzLjAgMjQuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC44NDE2OTk1MzA0OTEzMTggMS4yMDA0OTgzNDIwNjU3OTk4IEwgLTEzLjYzNjExMjQ3NjA0NTMwNyAxMS4zNTEyNTU4NTc4NzcxMTcgTCAtMTAuNzUyMjE1MDcyOTk2ODcgMTIuOTEwNTUzMDExNTE3NCBMIC0yNS4yODIyOTcwODUxMjg4MiAxNy43MjYwNTMyOTAyMzMxNzggTCAtMTUuODAyNDEyMjU1OTQ0Nzc3IDUuNzA3NTYyOTU5MTIyNiBMIC0xNS4zMTk1MTE1MzcwMjc5NDIgOC45NTAyNTkxNzM3NDU1MTcgTCAtMC44NDE2OTk1MzA0OTEzMTggLTEuMjAwNDk4MzQyMDY1Nzk5OCBMIDAuODQxNjk5NTMwNDkxMzE4IDEuMjAwNDk4MzQyMDY1Nzk5OFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjguNzIwMjk4Nzc3MzE4NzUzLCAzLjczNzIyMjUyNTkxNjMxMDVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfZDFmYWM3OTc1ZWVlNDA2NGEyN2I2M2M5MzVkN2JhZGEuc2V0SWNvbihkaXZfaWNvbl8wMDAwOWQ2ZGRhNzE0NjliODhmNWEzM2NjZDk0NTVhZCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jYjFlMDg5MDExZmI0YmRhODhhZmE1MzY3MTlkZjk1MCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk5OSwgLTM4LjUyMTkyMzMzMzMzMzMzXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fZjM4MTMxNDFjYzJiNDBlY2JlZjFmMTU5NzExOGY0YjcgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzMnB4XCIgaGVpZ2h0PVwiMTdweFwiIHZpZXdCb3g9XCItMjguMTIxNTg0NTAwNjU4NDIgLTMuMzc3MDg3ODMzNTExODM3IDMyLjAgMTcuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC42MTg4MjQ4MzQzNDY1OTMyIDEuMzI5MTc2NTA5NDcwNDEyNyBMIC0xMi4yODA1ODA0MTYwODMxMjQgNy4zMzQ3NTM4NDI3OTc4MTIgTCAtOS43MTM3NTQyMzc5MTk1MjIgOS4zNzQyODIwMjczOTIwNDcgTCAtMjQuODYxOTkzODM1NjYzNDM0IDExLjU3NTAwMDg0MjQ0Njc0IEwgLTEzLjQyNjcwMzI0Mzk5OTA4NCAxLjM5OTIyMjk3MDU2OTU2OTYgTCAtMTMuNTE4MjMwMDg0Nzc2MzEgNC42NzY0MDA4MjM4NTY5ODggTCAtMC42MTg4MjQ4MzQzNDY1OTMyIC0xLjMyOTE3NjUwOTQ3MDQxMjcgTCAwLjYxODgyNDgzNDM0NjU5MzIgMS4zMjkxNzY1MDk0NzA0MTI3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyOC4xMjE1ODQ1MDA2NTg0MiwgMy4zNzcwODc4MzM1MTE4MzddLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfY2IxZTA4OTAxMWZiNGJkYTg4YWZhNTM2NzE5ZGY5NTAuc2V0SWNvbihkaXZfaWNvbl9mMzgxMzE0MWNjMmI0MGVjYmVmMWYxNTk3MTE4ZjRiNyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8wYzExZDVkZWY5MDk0ZDk3ODc5Yjk5N2MzNjg5ODg3MyA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTAyMSwgLTM4LjUyMjc2XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fN2JkNTdmNjZlOTZkNDAwYWIwZmQ0NGE3MmMwOTEwMGEgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyNnB4XCIgaGVpZ2h0PVwiMTJweFwiIHZpZXdCb3g9XCItMjIuNzI4MDE3NTcxNDc0MDA1IC0zLjM3MDM0MTA2OTI2NDU3MTcgMjYuMCAxMi4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjQ5NjU0MzE1NzA0NzEwNDkgMS4zNzk1Mjg2Mzc2NTkxNTgyIEwgLTcuMDQwMjc3NDA0MDE1NTg5NSA0LjA5MjMwNzg5NjY5NDkwNCBMIC00LjY2NzY2MjQ1MjI2MjIyMSA2LjM1NDgyMjAxNDk2NjExNiBMIC0xOS45NTI1NzgyOTk5OTUxMTggNy4xODE2Njc2NzI0NTk2OSBMIC03LjY0NjkyMTM5NDU0NDg1MiAtMS45MjIzNDk4MTA5ODg4MzQyIEwgLTguMDMzMzYzNzE4MTA5Nzk5IDEuMzMzMjUwNjIxMzc2NTg3MSBMIC0wLjQ5NjU0MzE1NzA0NzEwNDkgLTEuMzc5NTI4NjM3NjU5MTU4MiBMIDAuNDk2NTQzMTU3MDQ3MTA0OSAxLjM3OTUyODYzNzY1OTE1ODJcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzIyLjcyODAxNzU3MTQ3NDAwNSwgMy4zNzAzNDEwNjkyNjQ1NzE3XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzBjMTFkNWRlZjkwOTRkOTc4NzliOTk3YzM2ODk4ODczLnNldEljb24oZGl2X2ljb25fN2JkNTdmNjZlOTZkNDAwYWIwZmQ0NGE3MmMwOTEwMGEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMjQ0YzUwYzhjMjJhNDI1ODhkZjk0MDI0YmQzNDA3MTQgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDEwMjE1LCAtMzguNTIzNjFdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl85YzI2NzE3NzJiZjU0Njg2YjQwYTgxYzU5MzI1YjJiZCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yMS4zMDA4MzU3ODI0ODU2OCAtNi40MDIyNjA0OTY3MTc2MzE1IDI0LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMjg3NDkxNDg0NzQzMzQ0MyAxLjQzNzcwNzU1NTQ5NjYzMzYgTCAtNi4yMzcyODY1MzQ5ODgzNDYgMC4yNDc5NTU1NzQwMzU2NTc3IEwgLTUuMzc0NTYxOTQ4OTc4NCAzLjQxMDg2MjE2OTc3MjI2OTQgTCAtMTguODg5MTYzMDQ5NzE0NzA3IC0zLjc3NzE3NTM0NDE1MTA3NCBMIC0zLjY0OTYxMzA0MDUxODMzNDUgLTUuMjE1MzgzMTYzMjA3NTMzIEwgLTUuNjYyMzAzNTY1NTAxNjU4IC0yLjYyNzQ1OTUzNjk1NzYxIEwgMC4yODc0OTE0ODQ3NDMzNDQzIC0xLjQzNzcwNzU1NTQ5NjYzMzYgTCAtMC4yODc0OTE0ODQ3NDMzNDQzIDEuNDM3NzA3NTU1NDk2NjMzNlwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjEuMzAwODM1NzgyNDg1NjgsIDYuNDAyMjYwNDk2NzE3NjMxNV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl8yNDRjNTBjOGMyMmE0MjU4OGRmOTQwMjRiZDM0MDcxNC5zZXRJY29uKGRpdl9pY29uXzljMjY3MTc3MmJmNTQ2ODZiNDBhODFjNTkzMjViMmJkKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2Y5ZDc5YzkwM2E5OTRhZmNiMGI0ZTk0YzQ3MjIyOTI5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTgzLCAtMzguNTI0MzQxNjY2NjY2NjY1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMGVkMmYyOWMzZGI5NDg1NmJlYWI3NzZkMDhiNjQyNmMgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyM3B4XCIgaGVpZ2h0PVwiMTVweFwiIHZpZXdCb3g9XCItMTkuNzE4MjgxODMxMzc0OTEzIC0xMi4wMTU3NTY4Mzc5NDMzMDQgMjMuMCAxNS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC43NTMwMzM4MDUxODkzMjY2IDEuMjU4MDEyMTA1MzM2ODc3MSBMIC02LjYyMDUyMjMyNTA5NjU4IC0yLjI1NDIwOTQyOTE4MjY2NjYgTCAtNi44Njg1Nzc4MzAxMzgzNTU1IDEuMDE0ODQ4NTg2NjgwNDE0IEwgLTE3LjE4OTU5NzQ2NzkzOTE1IC0xMC4yODk1MjU3ODEyMjM0ODMgTCAtMi4zNTAzNzQ5OTkwMDIzOTY4IC02LjUzMzIyNDA0NTM0MDg0OSBMIC01LjExNDQ1NDcxNDcxNzkyOCAtNC43NzAyMzM2Mzk4NTY0MjIgTCAwLjc1MzAzMzgwNTE4OTMyNjYgLTEuMjU4MDEyMTA1MzM2ODc3MSBMIC0wLjc1MzAzMzgwNTE4OTMyNjYgMS4yNTgwMTIxMDUzMzY4NzcxXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsxOS43MTgyODE4MzEzNzQ5MTMsIDEyLjAxNTc1NjgzNzk0MzMwNF0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9mOWQ3OWM5MDNhOTk0YWZjYjBiNGU5NGM0NzIyMjkyOS5zZXRJY29uKGRpdl9pY29uXzBlZDJmMjljM2RiOTQ4NTZiZWFiNzc2ZDA4YjY0MjZjKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2EyNDgzOWFkODlhMDRlYjY5ZjY1OWJjOTNmZTdmNDJkID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTQ3NSwgLTM4LjUyNTEwMzMzMzMzMzMzNF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzNjM2JkMjJlMTc5MjQyNDY5NTkzMDFmZWFhMzJjNzUyID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjVweFwiIGhlaWdodD1cIjE3cHhcIiB2aWV3Qm94PVwiLTIxLjQyODM5ODcxNzc0OTMyOCAtMTMuODkwMTIwODIxNDAxOTcyIDI1LjAgMTcuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuNzkzOTIyODY0NTM2MDY5IDEuMjMyNjE1NDUyNjQ0ODU1NCBMIC04LjM1MTEwNDA5MDc2NzEgLTMuNjM0OTM1ODYxOTc5MzIxMyBMIC04LjcwNjMzNDM2NzE5NDM4MiAtMC4zNzU3ODIwOTIxNTM1NDE0NyBMIC0xOC42NTA3MjAzMDAwMzQ3MjQgLTEyLjAxMjg1NzA5NTQ0ODggTCAtMy45NDI3OTcxNzk5Nzc5NjY0IC03Ljc3MTQ3NDgwODAyMjY3MyBMIC02Ljc2MzI1ODM2MTY5NDk2IC02LjEwMDE2Njc2NzI2OTAzMSBMIDAuNzkzOTIyODY0NTM2MDY5IC0xLjIzMjYxNTQ1MjY0NDg1NTQgTCAtMC43OTM5MjI4NjQ1MzYwNjkgMS4yMzI2MTU0NTI2NDQ4NTU0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyMS40MjgzOTg3MTc3NDkzMjgsIDEzLjg5MDEyMDgyMTQwMTk3Ml0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9hMjQ4MzlhZDg5YTA0ZWI2OWY2NTliYzkzZmU3ZjQyZC5zZXRJY29uKGRpdl9pY29uXzNjM2JkMjJlMTc5MjQyNDY5NTkzMDFmZWFhMzJjNzUyKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzlhMmMzNzA4MGE4ZTQxNGQ5ZTU5ZTYzNDcxN2IwZWQ2ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTM2LCAtMzguNTI1OTRdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9lZmI2Y2ViODU1OGM0YzNjOGZkMDQ0NWRkNWQ1ZjU1YSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI3cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yMy45NDM2MTI0NzMxNzM1MjMgLTYuNTMwNjQ2NzA0MTY3MzU4IDI3LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMjI1Mzc0OTAyMjM5NjYyMyAxLjQ0ODc0NDQ2NDEzODY5MDQgTCAtOC4yOTkyNzQ1NzM1NzgxNTYgMC4xOTI3MjI4NTc3MzE2NzEwOCBMIC03LjMwMTI3OTkxMzkxODc5MDUgMy4zMTU1ODY2ODgyNDg3MTM3IEwgLTIxLjExMjU5OTg0ODU4NjcxIC0zLjI4NDM5NTcyNjU2Mzk4MDUgTCAtNS45NDkwMzA1MDA0ODA4MTcgLTUuMzc2ODgwMDk2NTgzNDI5IEwgLTcuODQ4NTI0NzY5MDk4ODMyIC0yLjcwNDc2NjA3MDU0NTcxIEwgMC4yMjUzNzQ5MDIyMzk2NjIzIC0xLjQ0ODc0NDQ2NDEzODY5MDQgTCAtMC4yMjUzNzQ5MDIyMzk2NjIzIDEuNDQ4NzQ0NDY0MTM4NjkwNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjMuOTQzNjEyNDczMTczNTIzLCA2LjUzMDY0NjcwNDE2NzM1OF0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl85YTJjMzcwODBhOGU0MTRkOWU1OWU2MzQ3MTdiMGVkNi5zZXRJY29uKGRpdl9pY29uX2VmYjZjZWI4NTU4YzRjM2M4ZmQwNDQ1ZGQ1ZDVmNTVhKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzMyZDJhMWQ3NDY4YzQ0ZWI4Mjg4ZDUxMDI1YTVmYWZjID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTQyMTY2NjY2NjY2NiwgLTM4LjUyNjg0XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fZmU1YzM1MGY0YmI3NDMwNWE1OTM2NTlkNjI5OTFiODEgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzMnB4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMjguMzY0ODY1Mzk4MjM1OTc4IC00LjY4MTYxODk3MzgyNDYwNyAzMi4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuMTE2ODk5MTEwNjQ2MTMzNyAxLjQ2MTUwMjI5NzkzMjU2OTYgTCAtMTEuNTc2MjEwMTE1MDc4ODI0IDIuMzk2NzgyNDM0NzU0MDk2IEwgLTkuODgwOTA5NTk1ODUzOTkgNS4yMDI4ODc5MTk5NzMxMDIgTCAtMjQuODQ2NjI5OTA3MTE4MDg2IDEuOTg3MzcyMTMyNjM2NzI5MyBMIC0xMC41ODIzMDQyNTk3MzA3OSAtMy41NjYxMjU4Njc2MjIzMTY2IEwgLTExLjgxMDAwODMzNjM3MTA5MyAtMC41MjYyMjIxNjExMTEwNDM2IEwgLTAuMTE2ODk5MTEwNjQ2MTMzNyAtMS40NjE1MDIyOTc5MzI1Njk2IEwgMC4xMTY4OTkxMTA2NDYxMzM3IDEuNDYxNTAyMjk3OTMyNTY5NlwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjguMzY0ODY1Mzk4MjM1OTc4LCA0LjY4MTYxODk3MzgyNDYwN10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl8zMmQyYTFkNzQ2OGM0NGViODI4OGQ1MTAyNWE1ZmFmYy5zZXRJY29uKGRpdl9pY29uX2ZlNWMzNTBmNGJiNzQzMDVhNTkzNjU5ZDYyOTkxYjgxKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2JjZWIwMzJiOTAwNzRhZWU5MTllNWNhNTc1NjRiZmU0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTUxMTY2NjY2NjY2NywgLTM4LjUyNzddLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl80YWFmZWQ1NWM2ZTY0MjQ3YjY0Njc5NzAwYzI4MDFlNCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjQwcHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zNS4zNjU3NzA4MjIxNDg0NTUgLTIuNjkxNjIyMDY3NzcwNjAxOCA0MC4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuMjQ1NjgwNzM1ODA4OTQwOCAxLjQ0NTQzOTQ5ODkwMTQyOTYgTCAtMTcuNzIyNTg2MTU0MTg0MDQgNC40OTk0OTgxNjY5Mzk3NjggTCAtMTUuNzg1Nzg1MTgzNjY0NzMgNy4xNDQ2OTY0Mjg5MzM2ODcgTCAtMzAuOTc3MjIyMzgwMTA1ODQ3IDUuMjY1MTg1MjkwMzE4ODA1IEwgLTE3LjI1OTg2OTU5ODUxODM3NSAtMS41Mjc5NDA1NjQ0NzQ4OTEzIEwgLTE4LjIxMzk0NzYyNTgwMTkyIDEuNjA4NjE5MTY5MTM2OTA4MyBMIC0wLjI0NTY4MDczNTgwODk0MDggLTEuNDQ1NDM5NDk4OTAxNDI5NiBMIDAuMjQ1NjgwNzM1ODA4OTQwOCAxLjQ0NTQzOTQ5ODkwMTQyOTZcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzM1LjM2NTc3MDgyMjE0ODQ1NSwgMi42OTE2MjIwNjc3NzA2MDE4XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2JjZWIwMzJiOTAwNzRhZWU5MTllNWNhNTc1NjRiZmU0LnNldEljb24oZGl2X2ljb25fNGFhZmVkNTVjNmU2NDI0N2I2NDY3OTcwMGMyODAxZTQpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZjQxOTM1YWM2ZWYyNGI0NmJlMTcxZDk5NjA0OGZmN2MgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5NjUsIC0zOC41Mjg1NzUwMDAwMDAwMDRdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl85YzEyNzY0MDY4YTU0YjkyYTE5OWI4NDk3ZTZkZmVmYSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMzcHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yOS4yODI1MjUyMTY4NzkzNyAtMy4wMjI4NTI3ODIyOTk1Njk0IDMzLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4zMDc3NzExMDYzNDQwODE0NSAxLjQzMzUwMzE2MTg0OTI0MzggTCAtMTIuNjYzNTIxOTc3MTE1NTUyIDQuMjE4NDIxNDg1ODkzNzU1IEwgLTEwLjYxNDQ3NjYwMjU3ODE0NSA2Ljc3NzY1NjcwMzI0ODE2MSBMIC0yNS44NzI4MjE1NDAxMDI4MjcgNS41NTQ4NTgyODExNDEyNDQgTCAtMTIuNDYxMTAzMjQwNjQyNjM0IC0xLjgyMzM2MjI2Nzg0NzMwMTIgTCAtMTMuMjc5MDY0MTg5ODAzNzE0IDEuMzUxNDE1MTYyMTk1MjY3NSBMIC0wLjMwNzc3MTEwNjM0NDA4MTQ1IC0xLjQzMzUwMzE2MTg0OTI0MzggTCAwLjMwNzc3MTEwNjM0NDA4MTQ1IDEuNDMzNTAzMTYxODQ5MjQzOFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMjkuMjgyNTI1MjE2ODc5MzcsIDMuMDIyODUyNzgyMjk5NTY5NF0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9mNDE5MzVhYzZlZjI0YjQ2YmUxNzFkOTk2MDQ4ZmY3Yy5zZXRJY29uKGRpdl9pY29uXzljMTI3NjQwNjhhNTRiOTJhMTk5Yjg0OTdlNmRmZWZhKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzgzNWM5MzhlMjRjODRmZTliNzVjMjIxMzdmODdhYjVlID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTcyNSwgLTM4LjUyOTQyNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzc5ZDM1MmVhYTYxYTRkYWY4M2JhNDRlY2Y0MTg2Njk2ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTIxLjE1ODI4MDAzNDQ3NTIyIC01LjY0NjA1NDEzNDI1MDEzNCAyNC4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjA1NzQ2NDg2MzM0NTg0MTUgMS40NjUwNDMzOTgxMzI4NjE3IEwgLTUuMjQ2MDk5MjEyNDQ2MzcyIDEuMjYxNTI0NDAwNTM2ODg2NCBMIC0zLjg5NTk4NTU0MTAwNTE5MyA0LjI0OTA3NjA2MDE0ODQ1MSBMIC0xOC4zNzQwMjQ5MzIyOTYyODMgLTAuNzIwNzAyNzY3NzA4NTQ4NyBMIC0zLjU1MTE5NjM2MDkzMDE0NDUgLTQuNTQxMTg0MzI4NjQ4NzE5IEwgLTUuMTMxMTY5NDg1NzU0Njg5IC0xLjY2ODU2MjM5NTcyODgzNjcgTCAwLjA1NzQ2NDg2MzM0NTg0MTUgLTEuNDY1MDQzMzk4MTMyODYxNyBMIC0wLjA1NzQ2NDg2MzM0NTg0MTUgMS40NjUwNDMzOTgxMzI4NjE3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyMS4xNTgyODAwMzQ0NzUyMiwgNS42NDYwNTQxMzQyNTAxMzRdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfODM1YzkzOGUyNGM4NGZlOWI3NWMyMjEzN2Y4N2FiNWUuc2V0SWNvbihkaXZfaWNvbl83OWQzNTJlYWE2MWE0ZGFmODNiYTQ0ZWNmNDE4NjY5Nik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jODAyNDRkOGVhYzU0OGEzODkwNjQ5OTNlNDQyY2QyNyA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk4NTUsIC0zOC41MzAyOF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzc0NDYxYWVmNTNlZTRkZDFhNjI2NjdiMDExOWIxZjNiID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzVweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTMwLjg0MjEzODUxMzk2ODUzMiAtMi43MTA5MjQ0NzI4NTE4OTY2IDM1LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4zMTQ5NzA2NTEyNjIwMzYyIDEuNDMxOTM4NDk2NTA1OTEwNSBMIC0xMy43OTY4MzA1NTkzODM4NyA0LjUzNTk4NDY3NDkxNjA0OSBMIC0xMS43MzQ5NTA3NjAzNTM4ODYgNy4wODQ4OTEwMTY2NjU4MzUgTCAtMjYuOTk5MjQ3Njc5MTk5MSA1LjkzODc4MjAzOTc2ODQ2NSBMIC0xMy42MjQ3NzQ2Njc5MjYxMDIgLTEuNTA2NzM5OTYyMzY5NjI4MyBMIC0xNC40MjY3NzE4NjE5MDc5NDMgMS42NzIxMDc2ODE5MDQyMjg0IEwgLTAuMzE0OTcwNjUxMjYyMDM2MiAtMS40MzE5Mzg0OTY1MDU5MTA1IEwgMC4zMTQ5NzA2NTEyNjIwMzYyIDEuNDMxOTM4NDk2NTA1OTEwNVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMzAuODQyMTM4NTEzOTY4NTMyLCAyLjcxMDkyNDQ3Mjg1MTg5NjZdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYzgwMjQ0ZDhlYWM1NDhhMzg5MDY0OTkzZTQ0MmNkMjcuc2V0SWNvbihkaXZfaWNvbl83NDQ2MWFlZjUzZWU0ZGQxYTYyNjY3YjAxMTliMWYzYik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl84ZTgxMjFhZTIzZTA0YTBiOWYwMWU3MGNjZTNiZjczYSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk5NCwgLTM4LjUzMTE0XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fYTAxZjg1NWJhMTA1NDUwOGE5MTUxMTZmOTlhNmI2ZjMgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzNHB4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMzAuNDE3NjgwNzc1OTAyNzg1IC00LjI2MDk5MzkwNjUyODk0OCAzNC4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuMTQ1ODYzNjk1MTQwMzQ5NDcgMS40NTg4OTYyMDk5MzgxOTkyIEwgLTEzLjcwNTI5NTY2MjM2MTc3NyAyLjg0Mzc2NTk5ODU0OTYwMSBMIC0xMS45NTQ2NzIwNjIxNDI4NzggNS42MTU2OTQ3MjMyODU2NSBMIC0yNi45ODEyMjUyNDY5NDU5MTggMi42OTc2NDMwNDQ4NzQ1NDY1IEwgLTEyLjgyOTg1NDIzMjk4NDk3MyAtMy4xMzc2ODI1MzYzNDM1NDYzIEwgLTEzLjk5NzAyMzA1MjY0MjQ3NCAtMC4wNzQwMjY0MjEzMjY3OTc5IEwgLTAuMTQ1ODYzNjk1MTQwMzQ5NDcgLTEuNDU4ODk2MjA5OTM4MTk5MiBMIDAuMTQ1ODYzNjk1MTQwMzQ5NDcgMS40NTg4OTYyMDk5MzgxOTkyXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszMC40MTc2ODA3NzU5MDI3ODUsIDQuMjYwOTkzOTA2NTI4OTQ4XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzhlODEyMWFlMjNlMDRhMGI5ZjAxZTcwY2NlM2JmNzNhLnNldEljb24oZGl2X2ljb25fYTAxZjg1NWJhMTA1NDUwOGE5MTUxMTZmOTlhNmI2ZjMpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYjY3NTE1NjA4OTJkNGNhYWI5YWJkOGE0Yzc3YTI3NjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5ODMsIC0zOC41MzE4NTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9mNWJhMTBiZmIwOTA0NjA4YjE0OTBkMzA3MzQ0ZjM5MyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjExcHhcIiBoZWlnaHQ9XCIyNXB4XCIgdmlld0JveD1cIi02LjYyNzk1NzYzNzkzMjI0OCAtMjIuMDk0ODk4NzA1MjcwNTA2IDExLjAgMjUuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTEuNDMyNTU0MjEwMzU5NTQxNCAwLjMxMjE1ODI5ODQ4NTIyMzE0IEwgLTIuODcyNjcwMTQ2Nzc3MDEyIC02LjI5NjgwOTUxNzMwNTEzOSBMIC01LjQyNTYyMDI2OTAxMDg3MSAtNC4yMzk5Mzg3MDk5NzUxNSBMIC00LjI0OTU0MDYyMjc4NDQ3OSAtMTkuNTAxOTU1NzA5MDI2MjM0IEwgMy4xNjk3MDQ5OTMxNDYzNzYgLTYuMTEyODg4NTAwODg2NDg5NSBMIC0wLjAwNzU2MTcyNjA1NzkyOTM3MSAtNi45MjExMjYxMTQyNzU1ODU2IEwgMS40MzI1NTQyMTAzNTk1NDE0IC0wLjMxMjE1ODI5ODQ4NTIyMzE0IEwgLTEuNDMyNTU0MjEwMzU5NTQxNCAwLjMxMjE1ODI5ODQ4NTIyMzE0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFs2LjYyNzk1NzYzNzkzMjI0OCwgMjIuMDk0ODk4NzA1MjcwNTA2XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2I2NzUxNTYwODkyZDRjYWFiOWFiZDhhNGM3N2EyNzY0LnNldEljb24oZGl2X2ljb25fZjViYTEwYmZiMDkwNDYwOGIxNDkwZDMwNzM0NGYzOTMpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYjAxYmRlZjZjOTU2NDY3MzgyNjFmNDkwZjM5NjcwZTAgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5OSwgLTM4LjUzMTk4XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fODE4YmQ2MWQwNGQzNDE1NmE1MmYwYWQwMDU2MGEwYmIgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIxOHB4XCIgaGVpZ2h0PVwiMjhweFwiIHZpZXdCb3g9XCItMy4xMDE1MDg2MDM1NzQxODggLTMuODU1MjMyNzc5NDc1ODQ2NSAxOC4wIDI4LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDEuMjQ2NDg5OTg4MTU0MjI4IC0wLjc3MTk1NjY1NTc1NDI2NjkgTCA3LjM0MjM1Mjg2NzM3MTY4IDkuMDcxMTI0NTQ3NjYwMjU2IEwgOS4wNjMzNzYxODc5MjU4NjkgNi4yODA3MjEyNDc5OTc0OTUgTCAxMy4wNDM0NzI3ODEwMDU4NTMgMjEuMDYxNDkxMDk2ODAyNTczIEwgMS41ODQ0MzYyNTkwMDA1MDIxIDEwLjkxMjQ2MTE4MjUyMzA5NiBMIDQuODQ5MzcyODkxMDYzMjI1IDEwLjYxNTAzNzg1OTE2ODc5IEwgLTEuMjQ2NDg5OTg4MTU0MjI4IDAuNzcxOTU2NjU1NzU0MjY2OSBMIDEuMjQ2NDg5OTg4MTU0MjI4IC0wLjc3MTk1NjY1NTc1NDI2NjlcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMTAxNTA4NjAzNTc0MTg4LCAzLjg1NTIzMjc3OTQ3NTg0NjVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYjAxYmRlZjZjOTU2NDY3MzgyNjFmNDkwZjM5NjcwZTAuc2V0SWNvbihkaXZfaWNvbl84MThiZDYxZDA0ZDM0MTU2YTUyZjBhZDAwNTYwYTBiYik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jNGZlNTM3NTdiNzc0NjdmODI4YTAyZjgwNmE1ZTk2ZSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTAwMjUsIC0zOC41MzEyNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzQzZDU0ZTgzOTIzNDQ1MGE4NDg3NDkwMmFhZGU5MDczID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzVweFwiIGhlaWdodD1cIjEycHhcIiB2aWV3Qm94PVwiLTQuMjgxNzA3NjU0ODg3MjIxIC05LjMyNjE1ODA5NzMwOTU4MiAzNS4wIDEyLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjQyMTIzMzE5Nzk4NzYzNDcgLTEuNDA0MzU2NDIyNjUyNDM2NSBMIDEzLjc5NzM3Njg4NjM1MzYyNyAtNS42NjkxOTI5Njk5NTQzNjMgTCAxMS41NTA1NTQwNjc3MjU5MjMgLTguMDU2NjcyNjE3MjcxNjAyIEwgMjYuODU3ODE3ODg4MjEzMTkgLTguMDU1OTM1MzI5MTkwNjM3IEwgMTQuMDc3OTUzMjU1NjUxNzMgMC4zNjk0NjU5MTg2NDMwMTg1MyBMIDE0LjYzOTg0MzI4MjMyODg5NSAtMi44NjA0ODAxMjQ2NDk0ODkgTCAwLjQyMTIzMzE5Nzk4NzYzNDcgMS40MDQzNTY0MjI2NTI0MzY1IEwgLTAuNDIxMjMzMTk3OTg3NjM0NyAtMS40MDQzNTY0MjI2NTI0MzY1XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFs0LjI4MTcwNzY1NDg4NzIyMSwgOS4zMjYxNTgwOTczMDk1ODJdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYzRmZTUzNzU3Yjc3NDY3ZjgyOGEwMmY4MDZhNWU5NmUuc2V0SWNvbihkaXZfaWNvbl80M2Q1NGU4MzkyMzQ0NTBhODQ4NzQ5MDJhYWRlOTA3Myk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl81ODNiZjU5N2U0NTE0NGIzYmQxOTUwMmY4ODk4NDYyZCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk5MjUsIC0zOC41MzAzOTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl85ZWUwZTFkM2ExNzE0YmUzOThhMGIzYWQ0MzY0NGJiNCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yLjc4ODI4NTY1NzI5OTk3MyAtNS43NjQ4MTA1OTQzMDYwMDE1IDI0LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuMDk5NDUyNjMyNDk1ODU0NDggLTEuNDYyNzkzMDYyMjAwNDIwNiBMIDUuMjU4MjkxMTI1NTk2MjY4IC0xLjgyNzA1NjI4OTAwMjI3NzIgTCAzLjU5NjU5Mjc5ODQwNDEzODYgLTQuNjUzMTg5NzgwOTA3MjYzIEwgMTguNTIyODgxMzE3ODk1OTEgLTEuMjU5MzM2OTE5MjY0NTQ3IEwgNC4xOTMzMDg1OTMzNzkyNjYgNC4xMjM1Njg1OTIyOTUyNiBMIDUuNDU3MTk2MzkwNTg3OTc3IDEuMDk4NTI5ODM1Mzk4NTYzNyBMIDAuMDk5NDUyNjMyNDk1ODU0NDggMS40NjI3OTMwNjIyMDA0MjA2IEwgLTAuMDk5NDUyNjMyNDk1ODU0NDggLTEuNDYyNzkzMDYyMjAwNDIwNlwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi43ODgyODU2NTcyOTk5NzMsIDUuNzY0ODEwNTk0MzA2MDAxNV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl81ODNiZjU5N2U0NTE0NGIzYmQxOTUwMmY4ODk4NDYyZC5zZXRJY29uKGRpdl9pY29uXzllZTBlMWQzYTE3MTRiZTM5OGEwYjNhZDQzNjQ0YmI0KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzc5ZDBkMjQzYTk5ZDRmY2U5ZmVkNDEzZGRmYjkzODk1ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTgsIC0zOC41Mjk1NTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9hM2FlMjBhYzkyYTY0NmMzOTBhZjNkMDcyYTAxZDY0MSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjMxcHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zLjM3NDQxODY1NDQ0ODEyOCAtNi4xMTkwNTg4NjAxMTgyMDQgMzEuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4wOTMyNjI4MDg0MjYwNDkwOSAtMS40NjMyMDA3NDQwODY5MjMgTCAxMS4wODIzNTU5OTQzMjE0MyAtMi4xNzU1MjI0MTI2MzExNzYzIEwgOS40MzI2Mjk2MzMzODI0MSAtNS4wMDg2NjEwOTIzNzg5NzMgTCAyNC4zNDQ0MjU0OTk1Mjk3OSAtMS41NTE2ODY5NDQzNzg2OTU2IEwgOS45OTIyMDY0ODM5Mzg3MDQgMy43NzA1NDMzNzIxNDI1NjQzIEwgMTEuMjY4ODgxNjExMTczNTMgMC43NTA4NzkwNzU1NDI2NjkzIEwgMC4wOTMyNjI4MDg0MjYwNDkwOSAxLjQ2MzIwMDc0NDA4NjkyMyBMIC0wLjA5MzI2MjgwODQyNjA0OTA5IC0xLjQ2MzIwMDc0NDA4NjkyM1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMy4zNzQ0MTg2NTQ0NDgxMjgsIDYuMTE5MDU4ODYwMTE4MjA0XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzc5ZDBkMjQzYTk5ZDRmY2U5ZmVkNDEzZGRmYjkzODk1LnNldEljb24oZGl2X2ljb25fYTNhZTIwYWM5MmE2NDZjMzkwYWYzZDA3MmEwMWQ2NDEpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYmEwZmE3MWVlY2NiNDk0MmFiMmVjZGY2YTFmNmNkZDEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5NzIsIC0zOC41Mjg3MDVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8wNWFlMTNiNjE4OWY0N2UxODlkMjQ5MjBhZTk5YzdiYiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI5cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zLjExODU3NTA2MDI1ODY4ODYgLTYuMzMxODI5NDU4MDk0MzM3NSAyOS4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjE0NTg2NDA1NzUzNjg2NDIgLTEuNDU4ODk2MTczNzA0OTQyNCBMIDkuNjMyNzg0MzE2MTM4MTM5IC0yLjQzNjU4OTY4OTMzNjE0NDMgTCA3Ljg4MjE2MDAyNzM1OTQ2OSAtNS4yMDg1MTc5NzkyMDkxNjUgTCAyMi45MDg3MTM5MzcwMTk0ODUgLTIuMjkwNDcwMDMzNDYyOTgwNCBMIDguNzU3MzQ0MzcyNTgwNjUyIDMuNTQ0ODU5MDYzMDIwNDg5IEwgOS45MjQ1MTI0MzEyMTE4NjggMC40ODEyMDI2NTgwNzM3Mzk5IEwgMC4xNDU4NjQwNTc1MzY4NjQyIDEuNDU4ODk2MTczNzA0OTQyNCBMIC0wLjE0NTg2NDA1NzUzNjg2NDIgLTEuNDU4ODk2MTczNzA0OTQyNFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMy4xMTg1NzUwNjAyNTg2ODg2LCA2LjMzMTgyOTQ1ODA5NDMzNzVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYmEwZmE3MWVlY2NiNDk0MmFiMmVjZGY2YTFmNmNkZDEuc2V0SWNvbihkaXZfaWNvbl8wNWFlMTNiNjE4OWY0N2UxODlkMjQ5MjBhZTk5YzdiYik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8yZTM3Mjk1ZTEzODg0ZTA0OTYxMDY4MTJlMDFjNmEyOSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk2MDUsIC0zOC41Mjc4NDE2NjY2NjY2N10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2UxODcwYmEyNzllOTRmZDk4YmIzODdkZDY4ZDY3Y2FkID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjlweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTMuMjAwMjQ3Njk1MzI1Mzk2NCAtNi4xMjI5NDIwMDcwNjUzNzQgMjkuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4xMTI1MTQ4ODM2MTU0ODY2NiAtMS40NjE4NDYzNTY0NjA1NjYyIEwgOS40NDI4ODc0MDEyMDQxMTggLTIuMTk3MzAzMjQ3MTQxNDI2IEwgNy43NTYwMTEyNzc1MTI1NzY1IC01LjAwODQ4MTA3NjQ0NzA3MiBMIDIyLjcxMjAxOTQ5Mjk2NDY5NiAtMS43NDgwOTA4NDMyMjAyNDAyIEwgOC40MzExMDA1NzkyMDU0OTUgMy43NjI1OTcwNjIzMTYzMjQgTCA5LjY2NzkxNzE2ODQzNTA4OSAwLjcyNjM4OTQ2NTc3OTcwNTUgTCAwLjExMjUxNDg4MzYxNTQ4NjY2IDEuNDYxODQ2MzU2NDYwNTY2MiBMIC0wLjExMjUxNDg4MzYxNTQ4NjY2IC0xLjQ2MTg0NjM1NjQ2MDU2NjJcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMjAwMjQ3Njk1MzI1Mzk2NCwgNi4xMjI5NDIwMDcwNjUzNzRdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMmUzNzI5NWUxMzg4NGUwNDk2MTA2ODEyZTAxYzZhMjkuc2V0SWNvbihkaXZfaWNvbl9lMTg3MGJhMjc5ZTk0ZmQ5OGJiMzg3ZGQ2OGQ2N2NhZCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl84YjM5MDQ5N2E2MGE0YmY4YmFiYTUwNTE3NmM3NzEzNCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk0NTE2NjY2NjY2NjcsIC0zOC41MjY5NjVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8wYzlhNjk1MTg5ZGI0NDg2ODU2ZjI1MDViODQ3ZDMzMSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIxM3B4XCIgdmlld0JveD1cIi0zLjM0MDAxNDY1NjU0NjA1MTMgLTkuMjcyMjYyNDU4MDY3Mzk1IDI0LjAgMTMuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuNTc4NDkyNzA2MDQ3MTY2MyAtMS4zNDcyMTk1NjU2MTczNzM4IEwgNS4xOTQ5OTQ1OTYzNTE1MzIgLTMuODI2MzQwNTQ3OTIyMTY0NiBMIDIuNjkwNzg5NjE4NjM5ODI1MiAtNS45NDIyODY5NzMxMDk3NDcgTCAxNy44OTg0NjMzOTI5NTUwNjUgLTcuNjg1NTU1MzM2NzI5Mjg3IEwgNi4xNjE3NDU4NTQ5MjI4MjMgMi4xNDEwMzA0MjA1OTQ0OTc3IEwgNi4zNTE5ODAwMDg0NDU4NjUgLTEuMTMxOTAxNDE2Njg3NDE2NiBMIDAuNTc4NDkyNzA2MDQ3MTY2MyAxLjM0NzIxOTU2NTYxNzM3MzggTCAtMC41Nzg0OTI3MDYwNDcxNjYzIC0xLjM0NzIxOTU2NTYxNzM3MzhcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMzQwMDE0NjU2NTQ2MDUxMywgOS4yNzIyNjI0NTgwNjczOTVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfOGIzOTA0OTdhNjBhNGJmOGJhYmE1MDUxNzZjNzcxMzQuc2V0SWNvbihkaXZfaWNvbl8wYzlhNjk1MTg5ZGI0NDg2ODU2ZjI1MDViODQ3ZDMzMSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9mNTNjODg1ZWNjOWE0ZTQ3YmNhZTFiZTg0M2JmNjYwNyA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDkzNjUsIC0zOC41MjYxMV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzYxZjFlMzY4MmRjNzQxYzBiYjI2NGUyZGU5ODU5ZTA2ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjFweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTIuMzkwNzI0ODk2MzI3ODQyNyAtNS43MTUxODExMzE2MjkwMiAyMS4wIDExLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjE3MTM0NDIxOTkwODY3MjMgLTEuNDU2MTIzNDU4Nzg5MDk4NSBMIDMuMTEzNDM5MDc4MjQyNDI2NCAtMS44NDI2NDg4MTAzMjY3OTA0IEwgMS4zMTQ2MjcxNzk2MzU5ODM0IC00LjU4MzU1MTUwNzk5NjMxNSBMIDE2LjM4OTg5NDQyNzI1Mjk4NyAtMS45Mjg2MjMzMzA3MTU3NDI1IEwgMi4zNDI2OTI0OTkwODgwMTc2IDQuMTUzMTg5MjQ0NzM4Mjc2IEwgMy40NTYxMjc1MTgwNTk3NzEgMS4wNjk1OTgxMDcyNTE0MDY3IEwgMC4xNzEzNDQyMTk5MDg2NzIzIDEuNDU2MTIzNDU4Nzg5MDk4NSBMIC0wLjE3MTM0NDIxOTkwODY3MjMgLTEuNDU2MTIzNDU4Nzg5MDk4NVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi4zOTA3MjQ4OTYzMjc4NDI3LCA1LjcxNTE4MTEzMTYyOTAyXSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2Y1M2M4ODVlY2M5YTRlNDdiY2FlMWJlODQzYmY2NjA3LnNldEljb24oZGl2X2ljb25fNjFmMWUzNjgyZGM3NDFjMGJiMjY0ZTJkZTk4NTllMDYpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMTY5YzFjNGFiNzM4NGQ4YmIyYzljY2JkMTYzMTcwNWQgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5NDIsIC0zOC41MjUyOTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9lOTdlOThhMzVkNjU0ZWUzYjg1MTFhODY1ODAzZWZlZiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjE5cHhcIiBoZWlnaHQ9XCIxM3B4XCIgdmlld0JveD1cIi0zLjczMjEwOTA1Nzk2MzA2MjIgLTUuMjkxMDI1NjEwNDEyODUxIDE5LjAgMTMuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC42MzAwNTgzOTU0MjE2MzEgLTEuMzIzODg4NTEwMTQzNzk1NiBMIDIuMDQ3NDgyODkwMDE1ODMyIC0wLjY0OTMxNDkzNzAyNzQ3NzcgTCAxLjk4MzcxMTE3MDcxNTI5ODggLTMuOTI3MTUwMzUyNzM2Njk5NSBMIDEzLjMzMjQyMTA4NTg4ODM2MSA2LjM0NTA5OTEzMTkxMDk5NyBMIC0xLjc5NjYzOTIwMTgxNDQ4NjggNC4wMTYxODA3MDgxMjYwNzQgTCAwLjc4NzM2NjA5OTE3MjU3MDUgMS45OTg0NjIwODMyNjAxMTM3IEwgLTAuNjMwMDU4Mzk1NDIxNjMxIDEuMzIzODg4NTEwMTQzNzk1NiBMIDAuNjMwMDU4Mzk1NDIxNjMxIC0xLjMyMzg4ODUxMDE0Mzc5NTZcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuNzMyMTA5MDU3OTYzMDYyMiwgNS4yOTEwMjU2MTA0MTI4NTFdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMTY5YzFjNGFiNzM4NGQ4YmIyYzljY2JkMTYzMTcwNWQuc2V0SWNvbihkaXZfaWNvbl9lOTdlOThhMzVkNjU0ZWUzYjg1MTFhODY1ODAzZWZlZik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8xMjc4MjE5OTk2ZWM0NDAxOWU5MzkzNzgzYThlYzJhNSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk3MiwgLTM4LjUyNDUyMTY2NjY2NjY2NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzQ1ZjIxZjgwYTk2MzRhNDdiMDU0OWI1MTE5NGUzNmY0ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTlweFwiIGhlaWdodD1cIjE1cHhcIiB2aWV3Qm94PVwiLTIuNzE5NDQ5NDQ0ODMwNDQyIC00LjI0MTAwOTAzMjQyMjc3IDE5LjAgMTUuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC43ODA4NTc1MDc4NDc4MTg4IC0xLjI0MDkzMzQ4Nzg5MTE2NTMgTCAzLjk1NDQxNDczNTAxNDI2OCAwLjc1NjAyNzY4MDEzMTUzNzMgTCA0LjI3NTE5NjI2MjgxODc0IC0yLjUwNjY5NjgwMzQ5ODYxMiBMIDE0LjM0MTk1ODYxODE4NjkzNiA5LjAyNDY3ODczODY1MzA3MSBMIC0wLjQwOTk0ODc4NDI2ODE3MjQgNC45Mzg5MDQxMjM4NDgzOCBMIDIuMzkyNjk5NzE5MzE4NjMxIDMuMjM3ODk0NjU1OTEzODY4IEwgLTAuNzgwODU3NTA3ODQ3ODE4OCAxLjI0MDkzMzQ4Nzg5MTE2NTMgTCAwLjc4MDg1NzUwNzg0NzgxODggLTEuMjQwOTMzNDg3ODkxMTY1M1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi43MTk0NDk0NDQ4MzA0NDIsIDQuMjQxMDA5MDMyNDIyNzddLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMTI3ODIxOTk5NmVjNDQwMTllOTM5Mzc4M2E4ZWMyYTUuc2V0SWNvbihkaXZfaWNvbl80NWYyMWY4MGE5NjM0YTQ3YjA1NDliNTExOTRlMzZmNCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9hNjU0YjVkMzFiMzE0YmFhYTE4MjFmY2E5Y2U2NmNmOCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTAxMzE2NjY2NjY2NjYsIC0zOC41MjM3OTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9iMTFlNzkyZDg2NTE0YzRjOGE5NTVmMzIzMTBmYTE2YyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjE5cHhcIiBoZWlnaHQ9XCIxNXB4XCIgdmlld0JveD1cIi0yLjY2OTYyNjI1NjE5Nzk1OCAtNC4zNzUwMDI5NjUwMzM4OSAxOS4wIDE1LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuNzY1MjQ1NzU0OTQ2MDUwOCAtMS4yNTA2MjExNjcwNDgyMzQzIEwgMy45MzU2NDg0OTQwNjIwNzU3IDAuNjg5MzI0NTk4NzA2MDIyOSBMIDQuMjE1NTE4ODM2OTA1OTQ0IC0yLjU3NzE2MzQ5MDMzNjQ5NjQgTCAxNC40MjU5OTMyNDI1NTAxMzUgOC44MjcxNTc1NjAyNjg3MTUgTCAtMC4zNzU5NTU2OTI3NzAzNjE1NiA0LjkyNjU2MzUxMTk1MjkxIEwgMi40MDUxNTY5ODQxNjk5NzQ3IDMuMTkwNTY2OTMyODAyNDkyIEwgLTAuNzY1MjQ1NzU0OTQ2MDUwOCAxLjI1MDYyMTE2NzA0ODIzNDMgTCAwLjc2NTI0NTc1NDk0NjA1MDggLTEuMjUwNjIxMTY3MDQ4MjM0M1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi42Njk2MjYyNTYxOTc5NTgsIDQuMzc1MDAyOTY1MDMzODldLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYTY1NGI1ZDMxYjMxNGJhYWExODIxZmNhOWNlNjZjZjguc2V0SWNvbihkaXZfaWNvbl9iMTFlNzkyZDg2NTE0YzRjOGE5NTVmMzIzMTBmYTE2Yyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl82OGZiMjk4MjFjYTg0MjU2OTgzN2M2YzJjY2YxMzBkZSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTAyNiwgLTM4LjUyMzAyNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzIzZjE0N2RmOTY1ZjQ5ZTA4YWQ3MzQ1NTM5NWZjODhmID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjVweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTIuNzU1MjgxNTE1ODA0MTQ5NyAtNS45MjUzMTM2Mjk4ODA0MTIgMjUuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4xMjQxNTUzNTk2NzIxMDY4NiAtMS40NjA5MDM3NjY3MTMxNzAxIEwgNi4zNDEzMDMwNjc5NzMxNzEgLTIuMDEwMzcyNzU2MjY1Njg5IEwgNC42MzIwODg1ODE5MTU3ODcgLTQuODA4MDI0OTMwMDE5OTIzIEwgMTkuNjEzNTkyMzI4MDYzODEgLTEuNjY2ODY3MjI2NjAxNDgwNiBMIDUuMzc3MDIwNzM5OTQ4NDI5IDMuOTU3Mzk3NjcwMjU5MDk5IEwgNi41ODk2MTM3ODczMTczODU1IDAuOTExNDM0Nzc3MTYwNjUxNSBMIDAuMTI0MTU1MzU5NjcyMTA2ODYgMS40NjA5MDM3NjY3MTMxNzAxIEwgLTAuMTI0MTU1MzU5NjcyMTA2ODYgLTEuNDYwOTAzNzY2NzEzMTcwMVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi43NTUyODE1MTU4MDQxNDk3LCA1LjkyNTMxMzYyOTg4MDQxMl0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl82OGZiMjk4MjFjYTg0MjU2OTgzN2M2YzJjY2YxMzBkZS5zZXRJY29uKGRpdl9pY29uXzIzZjE0N2RmOTY1ZjQ5ZTA4YWQ3MzQ1NTM5NWZjODhmKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzBmYWU0NmU0YWZmZDQzNDJhZmRmMjhjNDFiY2U4NTYwID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAxMDA0LCAtMzguNTIyMjFdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl85OTg5Y2RmYmM5YmI0ZmRjYjFiYWY4NTYzN2E5NmY4YSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI4cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zLjU3ODIzMzA0OTU1MDA2NDUgLTcuNjY1OTgxOTA5OTgxODgyIDI4LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuNDIxMjMzMjIxNzg0MDYxMyAtMS40MDQzNTY0MTU1MTQ3NTc2IEwgOC4yMDQzMjYxNjEyNjcwNTUgLTMuOTkxNTcxNTQ3MjgwNzAxIEwgNS45NTc1MDMzMDIxODQxNzQgLTYuMzc5MDUxMTU2NTI2MTU1IEwgMjEuMjY0NzY3MTIyNjgzOTM1IC02LjM3ODMxNDEyNzgyMjQ5NSBMIDguNDg0OTAyNjMyODg4NTQyIDIuMDQ3MDg3MzM2NTYyMzkxIEwgOS4wNDY3OTI2MDQ4MzUxNzYgLTEuMTgyODU4NzE2MjUxMTg1OSBMIDAuNDIxMjMzMjIxNzg0MDYxMyAxLjQwNDM1NjQxNTUxNDc1NzYgTCAtMC40MjEyMzMyMjE3ODQwNjEzIC0xLjQwNDM1NjQxNTUxNDc1NzZcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuNTc4MjMzMDQ5NTUwMDY0NSwgNy42NjU5ODE5MDk5ODE4ODJdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMGZhZTQ2ZTRhZmZkNDM0MmFmZGYyOGM0MWJjZTg1NjAuc2V0SWNvbihkaXZfaWNvbl85OTg5Y2RmYmM5YmI0ZmRjYjFiYWY4NTYzN2E5NmY4YSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9iMGU0ZjQyOGI4OTE0ZGFlYjEyYzljNzhjOWQxZDc2OCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDk3MjY2NjY2NjY2NjcsIC0zOC41MjE0NF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2ExYjY1NTYwMWI4ZDQ0Yjg5NWU3NTk5YTcxOWQwZTlkID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE1cHhcIiB2aWV3Qm94PVwiLTQuMjAzMjQ0MDc1ODc2NDc3IC05Ljk4MTAyMjgwMzg4NjQ4MiAxNy4wIDE1LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjgyODU4MjMyNTUyMTY1NzIgLTEuMTA3OTI1ODgyNDgxMjAxNyBMIDAuMjc5MzQzNTU2OTU5NTQ0NyAtMS45MzY1MDgyMDgwMDI4NTkzIEwgLTIuNDg1NzQ2OTc2NTY0OTcyIC0zLjMyMzc3NzY0NzQ0MzYwNiBMIDExLjA3OTI1ODgyNDgxMjAxNyAtOC4yODU4MjMyNTUyMTY1NzIgTCAyLjQ4NTc0Njk3NjU2NDk3MiAzLjMyMzc3NzY0NzQ0MzYwNiBMIDEuOTM2NTA4MjA4MDAyODU5MyAwLjI3OTM0MzU1Njk1OTU0NDcgTCAwLjgyODU4MjMyNTUyMTY1NzIgMS4xMDc5MjU4ODI0ODEyMDE3IEwgLTAuODI4NTgyMzI1NTIxNjU3MiAtMS4xMDc5MjU4ODI0ODEyMDE3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFs0LjIwMzI0NDA3NTg3NjQ3NywgOS45ODEwMjI4MDM4ODY0ODJdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYjBlNGY0MjhiODkxNGRhZWIxMmM5Yzc4YzlkMWQ3Njguc2V0SWNvbihkaXZfaWNvbl9hMWI2NTU2MDFiOGQ0NGI4OTVlNzU5OWE3MTlkMGU5ZCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl84OWZmMjQ0ZTRkZmQ0MTMyYTdhNWIzMDFlYmZiZTI3MiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDkyMTgzMzMzMzMzMzMsIC0zOC41MjA3ODY2NjY2NjY2NjZdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8zMGNiZTliZTZkMjY0NzU3OGZkZWI1NTNhYWExYzk4NyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjE5cHhcIiBoZWlnaHQ9XCIxNHB4XCIgdmlld0JveD1cIi0yLjk4Mjk1OTAxMjExMjc3MjMgLTguOTkyNTAyNDY1NDkwOTQgMTkuMCAxNC4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC42Nzk0NzA4NjU1ODg3MDI2IC0xLjI5OTIyMDQyNDYxOTM4NjEgTCAxLjY1OTg5NDcyMjIwNDAzMzQgLTIuNTIyNjcwMDY0Njg0NTk0MyBMIC0wLjk5ODI2NzQzMzU5Mjc1NzkgLTQuNDQxNjQwMDQ4MzM0NjY0IEwgMTQuMDMyMzQ5NDA5MzY3MjEyIC03LjMzODY4NzQzMDM2MzUzMiBMIDMuMDc4NTU3NzU5OTM5NDU3IDMuMzUzNjgyNDk5MzgxNjUzIEwgMy4wMTg4MzY0NTMzODE0Mzg1IDAuMDc1NzcwNzg0NTU0MTc4MjIgTCAwLjY3OTQ3MDg2NTU4ODcwMjYgMS4yOTkyMjA0MjQ2MTkzODYxIEwgLTAuNjc5NDcwODY1NTg4NzAyNiAtMS4yOTkyMjA0MjQ2MTkzODYxXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyLjk4Mjk1OTAxMjExMjc3MjMsIDguOTkyNTAyNDY1NDkwOTRdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfODlmZjI0NGU0ZGZkNDEzMmE3YTViMzAxZWJmYmUyNzIuc2V0SWNvbihkaXZfaWNvbl8zMGNiZTliZTZkMjY0NzU3OGZkZWI1NTNhYWExYzk4Nyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl8xMTdlMTczYzFkMDU0MTQ3ODE3NGU4MWVkMmU4ZjRlYyA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDg2MSwgLTM4LjUyMDE0NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2EwYjg1MGExNzE1OTQwNTc5YjVmZDdjM2UwODg5MDVmID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE4cHhcIiB2aWV3Qm94PVwiLTMuNzUxMzQxNTcwOTQ5ODc2NyAtMTQuMzM3NDU0MzI3Mjk1IDE3LjAgMTguMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTEuMDczNDgyNjI2NTgzNDIwOCAtMC45OTg2NDM3OTAwMjUwNTE0IEwgMS4yOTA4MjQ1ODIyNDE2MjggLTMuNTQwMTMzMjk2MDIzOTQ0NCBMIC0xLjg1NDc4NDQ2MDk1MDI2NTMgLTQuNDYzOTM4MjQ5NDkwNjI2IEwgMTEuMzUyMTAxMzE5MDUwNTEyIC0xMi4yMDI4MzMxNDUyNDk2NzkgTCA0LjU4NjExMTI5ODU1MDI1OSAxLjUyNzkyNDQ5MDY1OTY4MjMgTCAzLjQzNzc4OTgzNTQwODQ2OTUgLTEuNTQyODQ1NzE1OTczODQxMSBMIDEuMDczNDgyNjI2NTgzNDIwOCAwLjk5ODY0Mzc5MDAyNTA1MTQgTCAtMS4wNzM0ODI2MjY1ODM0MjA4IC0wLjk5ODY0Mzc5MDAyNTA1MTRcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuNzUxMzQxNTcwOTQ5ODc2NywgMTQuMzM3NDU0MzI3Mjk1XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzExN2UxNzNjMWQwNTQxNDc4MTc0ZTgxZWQyZThmNGVjLnNldEljb24oZGl2X2ljb25fYTBiODUwYTE3MTU5NDA1NzliNWZkN2MzZTA4ODkwNWYpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZmE4YTJlNjlmOTFjNDkyM2E1YjliNGViOWI3MzZjMDEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA4MTAzMzMzMzMzMzMzLCAtMzguNTE5NDY1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fODc4ZjcyNDY2OWM2NDRlZmEwNjFjYjQ5MTcyMWM1MWEgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIxOHB4XCIgaGVpZ2h0PVwiMTZweFwiIHZpZXdCb3g9XCItMy40NTQ3OTQ0NDUxMzMwMTMgLTExLjkwOTI0MzkwMjk5NjQ2NyAxOC4wIDE2LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjkyMzI2NjEwMDY1OTM2MzUgLTEuMTM4OTYxODQxNDYxNDY1NyBMIDEuNDUwOTkxMjM5MzUwODA1NSAtMy4wNjM1ODQxMDQwMTI2NzggTCAtMS41MzQ1MDI4MDM0MjkzODcgLTQuNDE4MjQxNjg2Mjc2MjQ2IEwgMTIuNjI0OTEzOTEzMTYzMzYxIC0xMC4yMzQwMTcxNjg0ODU0ODMgTCA0LjAwNTA5MzgwMDUyNjc5NSAyLjQxNTUyOTM2MjQ5MjU0ODIgTCAzLjI5NzUyMzQ0MDY2OTUzMyAtMC43ODU2NjA0MjEwODk3NDY3IEwgMC45MjMyNjYxMDA2NTkzNjM1IDEuMTM4OTYxODQxNDYxNDY1NyBMIC0wLjkyMzI2NjEwMDY1OTM2MzUgLTEuMTM4OTYxODQxNDYxNDY1N1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMy40NTQ3OTQ0NDUxMzMwMTMsIDExLjkwOTI0MzkwMjk5NjQ2N10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9mYThhMmU2OWY5MWM0OTIzYTViOWI0ZWI5YjczNmMwMS5zZXRJY29uKGRpdl9pY29uXzg3OGY3MjQ2NjljNjQ0ZWZhMDYxY2I0OTE3MjFjNTFhKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2Y5MmZkZTZkM2QxYzRlMTZhZWNkODVmMWY0YTAwNjdjID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwNzg1MTY2NjY2NjY2NywgLTM4LjUxODcwNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzQxNDM4NDhiMjc3MTQwZmY5OWFjMzUzOTk0Y2ExYmFmID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjdweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTMuMTk0Mzg4MTQyNTc0MDIzNyAtNi4wNjk5MzQ5NTU4ODMzMjIgMjcuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4xMzUzNDg2OTI1NzI1MDk4NyAtMS40NTk5MDkyNzgxMjM0NTYyIEwgNy40NzIwNDAyMTE3NDA4NDYgLTIuMTY1MTkyOTI2NTc5Mjg4IEwgNS43NDE0MzM1NDg0NzIzNyAtNC45NDk2NjI3OTAyNTM2OTEgTCAyMC43NDY1NzI0MDc0MjQ0NjMgLTEuOTIzNDIxODgxNjA4NDIwOCBMIDYuNTUzNTI1NzAzOTA3NDI5IDMuODA5NzkyODc4NDg3MDQ2NSBMIDcuNzQyNzM3NTk2ODg1ODY2IDAuNzU0NjI1NjI5NjY3NjI0MyBMIDAuMTM1MzQ4NjkyNTcyNTA5ODcgMS40NTk5MDkyNzgxMjM0NTYyIEwgLTAuMTM1MzQ4NjkyNTcyNTA5ODcgLTEuNDU5OTA5Mjc4MTIzNDU2MlwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMy4xOTQzODgxNDI1NzQwMjM3LCA2LjA2OTkzNDk1NTg4MzMyMl0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9mOTJmZGU2ZDNkMWM0ZTE2YWVjZDg1ZjFmNGEwMDY3Yy5zZXRJY29uKGRpdl9pY29uXzQxNDM4NDhiMjc3MTQwZmY5OWFjMzUzOTk0Y2ExYmFmKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzgyYzA0MjkzMGE2OTRkMTk5YjVhNmJlZGI1M2UyMTVjID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwNzkxNSwgLTM4LjUxNzg1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMGVlMDE4MjViYWNkNDZmNDhmN2Q4NjgwMTBiYWViMGQgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyNnB4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMi43MTI5MTM1MTMxOTUwNiAtNS4yNjA3MzQxNzU4MzE3MjcgMjYuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjA1ODU4ODkxMTMwMjI2MDI2NiAtMS40NjQ5OTg4NzY1ODgxMjA2IEwgNy41MDYzNjA5MDY5MjEzMTggLTEuMTY3MTQ0MTQxMTE3NTg3NCBMIDYuMTU4NTM5ODUyOTM3NzE5IC00LjE1NTczMDgwNTU5NjA4OCBMIDIwLjYzMjc2MTg4NDkxMjE0MiAwLjgyNTE1NDkzNzE5MDg3NTYgTCA1LjgwNzAwNjM4NTEyNDE1NyA0LjYzNDI2MjQ1MzkzMjYzNCBMIDcuMzg5MTgzMDg0MzE2Nzk4IDEuNzYyODUzNjEyMDU4NjUzOCBMIC0wLjA1ODU4ODkxMTMwMjI2MDI2NiAxLjQ2NDk5ODg3NjU4ODEyMDYgTCAwLjA1ODU4ODkxMTMwMjI2MDI2NiAtMS40NjQ5OTg4NzY1ODgxMjA2XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyLjcxMjkxMzUxMzE5NTA2LCA1LjI2MDczNDE3NTgzMTcyN10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl84MmMwNDI5MzBhNjk0ZDE5OWI1YTZiZWRiNTNlMjE1Yy5zZXRJY29uKGRpdl9pY29uXzBlZTAxODI1YmFjZDQ2ZjQ4ZjdkODY4MDEwYmFlYjBkKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzRkYjFlN2I1YmU3ODQ2NzVhNmQ4M2Y0ZTg0NzliNDVkID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwNzksIC0zOC41MTY5N10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzU1Y2EzMzI3YWMzMzQyMDJiNDdkYTljNmQzNDU1NmY4ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMzZweFwiIGhlaWdodD1cIjEycHhcIiB2aWV3Qm94PVwiLTQuMjcwNDI3OTU5NTA0MiAtOS4zNTg1MjQ0MjA1MDY4MjcgMzYuMCAxMi4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4zOTk2MTM3NzEzMjk2NDE1IC0xLjQxMDY2MDU1NTQ0NzYwMjggTCAxNC43NjMxOTkwODE5NjMxNzQgLTUuNzA2MDAyMDU2ODk1NjkzIEwgMTIuNTUzMzEwOTgzODU2MjgzIC04LjEyNzcwOTM5NjQ2MTI1NiBMIDI3Ljg1ODc1Nzg1MjMyMTI0IC03Ljg5MTg2NTQ0MzQxNDg2NCBMIDE0Ljk1MDk5MzYxMTgzNDEzNCAwLjMzNjI1MzkzNjIyNDM2MDcgTCAxNS41NjI0MjY2MjQ2MjI0NTUgLTIuODg0NjgwOTQ2MDAwNDg3IEwgMC4zOTk2MTM3NzEzMjk2NDE1IDEuNDEwNjYwNTU1NDQ3NjAyOCBMIC0wLjM5OTYxMzc3MTMyOTY0MTUgLTEuNDEwNjYwNTU1NDQ3NjAyOFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbNC4yNzA0Mjc5NTk1MDQyLCA5LjM1ODUyNDQyMDUwNjgyN10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl80ZGIxZTdiNWJlNzg0Njc1YTZkODNmNGU4NDc5YjQ1ZC5zZXRJY29uKGRpdl9pY29uXzU1Y2EzMzI3YWMzMzQyMDJiNDdkYTljNmQzNDU1NmY4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2Y5ZmQ4NmJlM2JkZTQ4MWZhZjY0MDkyOTVlOGQ5Y2JhID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwODAxNSwgLTM4LjUxNjE0NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzE5Yjc1YTU4YTdkNTRjN2Q5YmU0OGY5ZDhjYzRhNmFlID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjdweFwiIGhlaWdodD1cIjIzcHhcIiB2aWV3Qm94PVwiLTMuODIzMzYzNTc5MTIwMzkzIC0zLjQzMTUzNjk0NzMwMTE3MDMgMjcuMCAyMy4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjk0OTQ2MTEwMzQ2NzcwNSAtMS4xMTcyMTg4NjAzNTU0NDg1IEwgMTEuMTk3MjI1MzA1NDk1NTg3IDcuNTkxNzc2MTc0MTg4MzEzIEwgMTEuOTc4OTI4NjUyMDc1NTQ5IDQuNDA3ODc3MzUwMDA5NzExIEwgMjAuMzAyNzMzOTQ1MjI2OTIgMTcuMjU0MTQ0OTY1NzUzMTA2IEwgNi4yODIxNjIwMzEyNjkzMiAxMS4xMTExOTA1MTIxNDI0IEwgOS4yOTgzMDMwOTg1NjAxNzggOS44MjYyMTM4OTQ4OTkyMDggTCAtMC45NDk0NjExMDM0Njc3MDUgMS4xMTcyMTg4NjAzNTU0NDg1IEwgMC45NDk0NjExMDM0Njc3MDUgLTEuMTE3MjE4ODYwMzU1NDQ4NVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMy44MjMzNjM1NzkxMjAzOTMsIDMuNDMxNTM2OTQ3MzAxMTcwM10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9mOWZkODZiZTNiZGU0ODFmYWY2NDA5Mjk1ZThkOWNiYS5zZXRJY29uKGRpdl9pY29uXzE5Yjc1YTU4YTdkNTRjN2Q5YmU0OGY5ZDhjYzRhNmFlKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzBhZTgwZDRhM2Q5ZDRlNDU4N2U0MmIxYjI1Yzc1OTk0ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwODYyMTY2NjY2NjY2NywgLTM4LjUxNTYzMTY2NjY2NjY2NF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzMzNTQ5MWI5MjA5YTRkYjNiYTgyNzk1OTdiZTdjYjIxID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTVweFwiIGhlaWdodD1cIjIycHhcIiB2aWV3Qm94PVwiLTMuMjA2NzUzMTczNDg0MjI0MyAtMy4xNjIxODgwMzk1NDkzNTQ1IDE1LjAgMjIuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMS4yNTMzMzIyMzAxNjU4OTIyIC0wLjc2MDc5NzQwMzg4NTgzNzMgTCA0LjM4MzM4Nzc4NjM4NzE1OCA0LjM5NTYzMzg0OTQwODI1OCBMIDYuMTI5MjU0ODQyODMzMTA1IDEuNjIwNzA2ODExNDcwNjkwNiBMIDkuOTc3MjMyMTkxMTkzODAxIDE2LjQzNjQyMTMyNDc4NzEyNiBMIC0xLjM5MDczODUzODE2MjI0ODYgNi4xODU0OTEyMzQ3ODU3MTMgTCAxLjg3NjcyMzMyNjA1NTM3MyA1LjkxNzIyODY1NzE3OTkzMTUgTCAtMS4yNTMzMzIyMzAxNjU4OTIyIDAuNzYwNzk3NDAzODg1ODM3MyBMIDEuMjUzMzMyMjMwMTY1ODkyMiAtMC43NjA3OTc0MDM4ODU4MzczXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszLjIwNjc1MzE3MzQ4NDIyNDMsIDMuMTYyMTg4MDM5NTQ5MzU0NV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl8wYWU4MGQ0YTNkOWQ0ZTQ1ODdlNDJiMWIyNWM3NTk5NC5zZXRJY29uKGRpdl9pY29uXzMzNTQ5MWI5MjA5YTRkYjNiYTgyNzk1OTdiZTdjYjIxKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2VjMzAxNzMxYjhjNDQxNDFhMTYxMTAwZDUwYjhkYjdkID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTE4NSwgLTM4LjUxNTAzXSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fYjExNGQwNWQ3NTU5NGI4NmJiYWNlYTA5NDk0YmE4NjUgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyNnB4XCIgaGVpZ2h0PVwiMTZweFwiIHZpZXdCb3g9XCItMy40OTIzNTU3NjUzNzE5NjY2IC0yLjk3MjYwMzk0ODczMzE4MyAyNi4wIDE2LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuNzI5NTQ5ODQwMjAwOTY2NCAtMS4yNzE3NzQ5MDEzMDcxMzkgTCA5LjAyODQxNDAzNzg5Mzc1IDMuNDg4ODQzNTQwNzI0OTM2NSBMIDkuMjE1NzM4ODE2OTg4NTQzIDAuMjE1NzQzODk3OTA5NjkxODcgTCAxOS43NDQ4MzgzMDk0NTcwMzQgMTEuMzI2NTY3MDAzODQwNzcyIEwgNC44Mzg0Mzk3NzU3ODI3NDUgNy44NDYzOTMzMDU3NTI1MjcgTCA3LjU2OTMxNDM1NzQ5MTgxNiA2LjAzMjM5MzM0MzMzOTIxNCBMIC0wLjcyOTU0OTg0MDIwMDk2NjQgMS4yNzE3NzQ5MDEzMDcxMzkgTCAwLjcyOTU0OTg0MDIwMDk2NjQgLTEuMjcxNzc0OTAxMzA3MTM5XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszLjQ5MjM1NTc2NTM3MTk2NjYsIDIuOTcyNjAzOTQ4NzMzMTgzXSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyX2VjMzAxNzMxYjhjNDQxNDFhMTYxMTAwZDUwYjhkYjdkLnNldEljb24oZGl2X2ljb25fYjExNGQwNWQ3NTU5NGI4NmJiYWNlYTA5NDk0YmE4NjUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMGM2ZmJmMDA0MTU4NDMxYjljMWViMGVmZjRiZmUxNjQgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5NTk1LCAtMzguNTE0MzA1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fYWFjZTgxMjA3MzE3NDdjOTg3OTNjNTEyZTVlMzM4MzUgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIzMHB4XCIgaGVpZ2h0PVwiMjFweFwiIHZpZXdCb3g9XCItNC4xOTQyNDQ4NTQ4MDU2ODcgLTMuNDc5NDA4MzE1Nzg2NjAzNCAzMC4wIDIxLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuODI0MzQxODAxNjg1NDQ0IC0xLjIxMjQ4Mjk3NDI4Mjk1MjQgTCAxMi4zNDc4NDcxMjUyMTI5NCA2LjYyMjEwNzE1MzI1Nzc5NTUgTCAxMi43ODQwNDc3NTQzMDA4NzUgMy4zNzI3OTk0MDMwMDY0NDU3IEwgMjIuNDM1ODUyMDkyMDc0MDY4IDE1LjI1MzY2NjM0MjcwOTc0NiBMIDcuODM3OTk2OTQ0MTg4MjExIDEwLjY0NzY5NzI0ODcwNDE2MiBMIDEwLjY5OTE2MzUyMTg0MjA1MyA5LjA0NzA3MzEwMTgyMzcwMyBMIC0wLjgyNDM0MTgwMTY4NTQ0NCAxLjIxMjQ4Mjk3NDI4Mjk1MjQgTCAwLjgyNDM0MTgwMTY4NTQ0NCAtMS4yMTI0ODI5NzQyODI5NTI0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFs0LjE5NDI0NDg1NDgwNTY4NywgMy40Nzk0MDgzMTU3ODY2MDM0XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzBjNmZiZjAwNDE1ODQzMWI5YzFlYjBlZmY0YmZlMTY0LnNldEljb24oZGl2X2ljb25fYWFjZTgxMjA3MzE3NDdjOTg3OTNjNTEyZTVlMzM4MzUpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfZjllMDhiNjgxMGI1NGUxZWI4Yjc2MmM1NjQ0NTliYzEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA5ODE1LCAtMzguNTEzNDU2NjY2NjY2NjddLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9iYjk4NWM3M2I2Mzg0NWUzYjY4N2ViMjc2MjU0OTY2NiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI3cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zLjI4NTY0NTc4NzM5OTQwMyAtNC40ODQyODI4Mzg5NTU1NDUgMjcuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjIzNzE0MDM5MzM3NTIxNjggLTEuNDQ2ODY1MTYzOTg3OTUzIEwgNy44ODEyMDI3MzYwNjAwNTIgLTAuMTk0MDA3NjA5NTY4MjgxOTcgTCA2LjkwODYxODM1ODgyMjUzMiAtMy4zMjQ4NzgzMzA5MTk0MDQzIEwgMjAuNjY1ODQ4ODE4NTc2NDEgMy4zODcxMjEwOTQ3OTY2MjIgTCA1LjQ4NTc3NTk5ODU3MTIzMiA1LjM1NjMxMjY1MzAwODMxMyBMIDcuNDA2OTIxOTQ5MzA5NjE4IDIuNjk5NzIyNzE4NDA3NjI0IEwgLTAuMjM3MTQwMzkzMzc1MjE2OCAxLjQ0Njg2NTE2Mzk4Nzk1MyBMIDAuMjM3MTQwMzkzMzc1MjE2OCAtMS40NDY4NjUxNjM5ODc5NTNcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMjg1NjQ1Nzg3Mzk5NDAzLCA0LjQ4NDI4MjgzODk1NTU0NV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9mOWUwOGI2ODEwYjU0ZTFlYjhiNzYyYzU2NDQ1OWJjMS5zZXRJY29uKGRpdl9pY29uX2JiOTg1YzczYjYzODQ1ZTNiNjg3ZWIyNzYyNTQ5NjY2KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzA5OGIzY2NmZjEyMDRhNzE4OWI1MDc0NjgyZTcyYzU5ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTk1NSwgLTM4LjUxMjYzMTY2NjY2NjY2NF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzNkZjNkNmIwODIzODQ3MjNiYmQ2MjUxOGQwNmYxYjFmID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjNweFwiIGhlaWdodD1cIjEzcHhcIiB2aWV3Qm94PVwiLTMuMDY5NjA5MzUwMzkwMDQ0IC0zLjI5MjU5Njk5MTA1MzEyMjggMjMuMCAxMy4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjYzMTYxOTYxMjE4OTE3NDYgLTEuMzIzMTQ0MzczOTkzMjY3NiBMIDYuMjE1NzIxMTU3NjU4ODUyIDEuMzQyNDk2NzQ3MTg2ODEyMSBMIDYuMTU1ODE2MDA4MDQzOTMzIC0xLjkzNTQxMTYxMjk4ODg5NyBMIDE3LjQ5MjQwMDkxMTQwOTA4NSA4LjM1MDIxNzYzMDg4MjY1MiBMIDIuMzY2MDk4MzM0OTA4ODg1NSA2LjAwMzQ1NDYzMDk3MDcwNyBMIDQuOTUyNDgxOTMzMjgwNTAyIDMuOTg4Nzg1NDk1MTczMzQ3NyBMIC0wLjYzMTYxOTYxMjE4OTE3NDYgMS4zMjMxNDQzNzM5OTMyNjc2IEwgMC42MzE2MTk2MTIxODkxNzQ2IC0xLjMyMzE0NDM3Mzk5MzI2NzZcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMDY5NjA5MzUwMzkwMDQ0LCAzLjI5MjU5Njk5MTA1MzEyMjhdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfMDk4YjNjY2ZmMTIwNGE3MTg5YjUwNzQ2ODJlNzJjNTkuc2V0SWNvbihkaXZfaWNvbl8zZGYzZDZiMDgyMzg0NzIzYmJkNjI1MThkMDZmMWIxZik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9lOTI1Y2ExMTg4Njc0YzdlODRmYzhlY2VkZTgyYjIzYiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTAwNCwgLTM4LjUxMTg0XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fMTE4MDk4MWU2NTVlNDY3YmEyZGViOTRiZGQ0ODJmYjkgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyM3B4XCIgaGVpZ2h0PVwiMTFweFwiIHZpZXdCb3g9XCItMi43NjUzNjQ4NDEzNTQ3MDE0IC00Ljc2MTAwMzg1NzY2MjgzNTUgMjMuMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjMwNzc3MTU3NDg4Mjg1MDkgLTEuNDMzNTAzMDYxMjU0NTUxIEwgNS4xODMyODU5MTU3NjUzNDMgLTAuMzg2NzM1MzQ0MDM0NTM1OCBMIDQuMzY1MzI2MDA0Mjc2NDk0IC0zLjU2MTUxMzA0MTQyNjQ4ODYgTCAxNy43NzcwNDE4OTIxNzM0NSAzLjgxNjcxMTg5MTE2NTY3MzQgTCAyLjUxODY5NjU1NDk3OTM4ODUgNS4wMzk1MDUzMjYxMDA4MTcgTCA0LjU2Nzc0Mjc2NTk5OTY0MTUgMi40ODAyNzA3Nzg0NzQ1NjYgTCAtMC4zMDc3NzE1NzQ4ODI4NTA5IDEuNDMzNTAzMDYxMjU0NTUxIEwgMC4zMDc3NzE1NzQ4ODI4NTA5IC0xLjQzMzUwMzA2MTI1NDU1MVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi43NjUzNjQ4NDEzNTQ3MDE0LCA0Ljc2MTAwMzg1NzY2MjgzNTVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfZTkyNWNhMTE4ODY3NGM3ZTg0ZmM4ZWNlZGU4MmIyM2Iuc2V0SWNvbihkaXZfaWNvbl8xMTgwOTgxZTY1NWU0NjdiYTJkZWI5NGJkZDQ4MmZiOSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl83YmRmYjExNjkyOTM0ZWUyOWFiMmE5NDdjMTVlZDE5MiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTAzMjY2NjY2NjY2NjYsIC0zOC41MTEwNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzM5ZDU3ZTI2N2UwZjQzYmZhZjE0NTJjMTRkY2NmMDZjID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjBweFwiIGhlaWdodD1cIjEzcHhcIiB2aWV3Qm94PVwiLTMuMDc5OTI4ODM1MjAzMDM3IC01LjM3NDU4Nzg0NzUwNzQ0NiAyMC4wIDEzLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDAuNTUzNzg4MTgxNjEzMDYyOSAtMS4zNTc1NjE0MjM1OTY2NDAyIEwgMi44NzQyOTU5MjQ0NDMwNiAtMC40MTA5NTk4NjIxNjEzNzc3NSBMIDIuNjI0MzEwODY0MDcyNTQ1NCAtMy42Nzk4NzA4OTA5Njc3MjA3IEwgMTQuNTM4NTYwNTU1MTk5NzU3IDUuOTMwNjk1MTk1OTUyODI4IEwgLTAuNjk4NDE4MjI1NjA1ODMyIDQuNDY1NDk3NjUwNjEyMTIgTCAxLjc2NjcxOTU2MTIxNjkzNDQgMi4zMDQxNjI5ODUwMzE5MDIgTCAtMC41NTM3ODgxODE2MTMwNjI5IDEuMzU3NTYxNDIzNTk2NjQwMiBMIDAuNTUzNzg4MTgxNjEzMDYyOSAtMS4zNTc1NjE0MjM1OTY2NDAyXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszLjA3OTkyODgzNTIwMzAzNywgNS4zNzQ1ODc4NDc1MDc0NDZdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfN2JkZmIxMTY5MjkzNGVlMjlhYjJhOTQ3YzE1ZWQxOTIuc2V0SWNvbihkaXZfaWNvbl8zOWQ1N2UyNjdlMGY0M2JmYWYxNDUyYzE0ZGNjZjA2Yyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl83ZGQ2NDJjYTFiYzM0ZTNjYmYyMTQwZThjNzMzNDQ4MSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTA0OTUsIC0zOC41MTAyMzY2NjY2NjY2NjRdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8wOGJmODk4OGEwY2Y0NzkwYjVlZTZlMzBkNDkyODllYiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjIxcHhcIiBoZWlnaHQ9XCIxMnB4XCIgdmlld0JveD1cIi0yLjc2MDM2ODcxMjc4MDMwNDcgLTQuMzA4NzQ3MzY3OTM3NjcgMjEuMCAxMi4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjU0OTMwMDM1Njk2MTU5OTYgLTEuMzU5MzgzNDk1MTA4NjgyNyBMIDQuMzQzNDExODMyMzg0NDQ2IDAuMTczNzQyOTUxNzcwMjcyNTIgTCA0LjA4MjYyOTA1MTE5ODk2MiAtMy4wOTQzMjQzOTU0MDg2OTIzIEwgMTYuMDI4NTYyOTMxNDAwOTkgNi40NzY4Mjk2NTk1MzMzNTIgTCAwLjc4NjgyNjkwOTQyOTM2NSA1LjA2MTk3NjU3NTI0MzQwNDUgTCAzLjI0NDgxMTExODQ2MTI0NjUgMi44OTI1MDk5NDE5ODc2MzggTCAtMC41NDkzMDAzNTY5NjE1OTk2IDEuMzU5MzgzNDk1MTA4NjgyNyBMIDAuNTQ5MzAwMzU2OTYxNTk5NiAtMS4zNTkzODM0OTUxMDg2ODI3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyLjc2MDM2ODcxMjc4MDMwNDcsIDQuMzA4NzQ3MzY3OTM3NjddLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfN2RkNjQyY2ExYmMzNGUzY2JmMjE0MGU4YzczMzQ0ODEuc2V0SWNvbihkaXZfaWNvbl8wOGJmODk4OGEwY2Y0NzkwYjVlZTZlMzBkNDkyODllYik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl80NWIyYWU4ZmQ5NjE0ZWQyYTlkZDNmNGQ1ZmE3NjAxMSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMTA1NTUsIC0zOC41MDk0MjVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8zYTMzMjUyNDJhZjg0OGQ2OWE5MmRlZmQxNjdhMTgxMSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjE5cHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yLjkzMTEyMzAzMDI0MzIzNCAtNS41IDE5LjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMC4yNzg4Mjg2MDg4NTYxNTMgLTEuMzk3NDIzOTc2NjA4MTk4OCBMIDEuNjc2MjUyNTg1NDY0MzUyIC0xLjExODU5NTM2Nzc1MjA0NiBMIDAuODM2NDg1ODI2NTY4NDU4OCAtNC4xOTIyNzE5Mjk4MjQ1OTYgTCAxMy45NzQyMzk3NjYwODE5OSAyLjc4ODI4NjA4ODU2MTUzMDQgTCAtMC44MzY0ODU4MjY1Njg0NTg4IDQuMTkyMjcxOTI5ODI0NTk2IEwgMS4xMTg1OTUzNjc3NTIwNDYgMS42NzYyNTI1ODU0NjQzNTIgTCAtMC4yNzg4Mjg2MDg4NTYxNTMgMS4zOTc0MjM5NzY2MDgxOTg4IEwgMC4yNzg4Mjg2MDg4NTYxNTMgLTEuMzk3NDIzOTc2NjA4MTk4OFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMi45MzExMjMwMzAyNDMyMzQsIDUuNV0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl80NWIyYWU4ZmQ5NjE0ZWQyYTlkZDNmNGQ1ZmE3NjAxMS5zZXRJY29uKGRpdl9pY29uXzNhMzMyNTI0MmFmODQ4ZDY5YTkyZGVmZDE2N2ExODExKTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzgwY2M5M2UzYTZkNzQ2Yjc4YTMyNzY0OTFlMTlhZTc3ID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwOTgyLCAtMzguNTA5MjNdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9lYjk0ZmJkNDIwNzU0MGRkOTRlMzljNDdlMzVhYTM1YiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjExcHhcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIi02LjIzMzA1Nzc3MTQ4OTEyNSAtMjEuMjE2NjY4MDcyNjAyNDc3IDExLjAgMjQuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTEuNDQ0NzAwMDcxNTE5Njk0MyAwLjI0OTk5MjE0NDQ0MjYzOTk4IEwgLTIuNDI3NzQ5OTg3NDUxNDU5NiAtNS40MzEwMzU1MDE1Mjc3MSBMIC01LjA2NzE1Nzk4NjA0ODIwNyAtMy40ODYzNTExNDExMjI3MzU3IEwgLTMuMjMyOTc5MjE1OTE1NTI1MyAtMTguNjgzMzI4Mjg5NjQ3NTk0IEwgMy42MDEwNDI0NDMwNjk5NTcyIC00Ljk4NjMwNDAwNzc3ODU3NSBMIDAuNDYxNjUwMTU1NTg3OTI4NzcgLTUuOTMxMDE5NzkwNDEyOTg4IEwgMS40NDQ3MDAwNzE1MTk2OTQzIC0wLjI0OTk5MjE0NDQ0MjYzOTk4IEwgLTEuNDQ0NzAwMDcxNTE5Njk0MyAwLjI0OTk5MjE0NDQ0MjYzOTk4XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFs2LjIzMzA1Nzc3MTQ4OTEyNSwgMjEuMjE2NjY4MDcyNjAyNDc3XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzgwY2M5M2UzYTZkNzQ2Yjc4YTMyNzY0OTFlMTlhZTc3LnNldEljb24oZGl2X2ljb25fZWI5NGZiZDQyMDc1NDBkZDk0ZTM5YzQ3ZTM1YWEzNWIpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNWY0MTYxZTU4NWI3NDg5Y2E3ZmZmOTFjNWQzM2JjOTEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDA4OTkxNjY2NjY2NjY3LCAtMzguNTA5MTJdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl82MTRkNzEwYTQ5ODE0ZmU0OTQyNGIwN2RkYjZjZTc1ZCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjExcHhcIiBoZWlnaHQ9XCIyNnB4XCIgdmlld0JveD1cIi01LjQ5OTk5OTk5OTk5OTk5OCAtMjMuMjI3ODc3NjQ4MDMxNDczIDExLjAgMjYuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTEuNDY2MTY5OTY1OTA4NDY4MiAtNC4xNTMzMjE0ODYyMDg4MTk1ZS0xNiBMIC0xLjQ2NjE2OTk2NTkwODQ2NjIgLTcuMjYwMjI1NjAyODg2NzI5IEwgLTQuMzk4NTA5ODk3NzI1NDAzIC01Ljc5NDA1NTYzNjk3ODI2MyBMIDUuNzk0NjQzODY1NTMwNjYzZS0xNSAtMjAuNDU1NzU1Mjk2MDYyOTQzIEwgNC4zOTg1MDk4OTc3MjU0MDcgLTUuNzk0MDU1NjM2OTc4MjYwNSBMIDEuNDY2MTY5OTY1OTA4NDcwMiAtNy4yNjAyMjU2MDI4ODY3MjkgTCAxLjQ2NjE2OTk2NTkwODQ2ODIgNC4xNTMzMjE0ODYyMDg4MTk1ZS0xNiBMIC0xLjQ2NjE2OTk2NTkwODQ2ODIgLTQuMTUzMzIxNDg2MjA4ODE5NWUtMTZcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzUuNDk5OTk5OTk5OTk5OTk4LCAyMy4yMjc4Nzc2NDgwMzE0NzNdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfNWY0MTYxZTU4NWI3NDg5Y2E3ZmZmOTFjNWQzM2JjOTEuc2V0SWNvbihkaXZfaWNvbl82MTRkNzEwYTQ5ODE0ZmU0OTQyNGIwN2RkYjZjZTc1ZCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl84NmQxZGY1MGYzZGI0YWNkODc3ZmJiMjI0YThiNDg0ZiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDgxNTUsIC0zOC41MDkxM10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2RjY2JjYzI3MWI2ZjQwYmVhMTFlMmU3OTAzMzZjODgzID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTFweFwiIGhlaWdodD1cIjI5cHhcIiB2aWV3Qm94PVwiLTQuNTU2MzUxMzc4Mjg2MzQ2IC0yNS43ODg1MDY5MDQzNTg3NzYgMTEuMCAyOS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMS40NTY1MTAyMDIzODM0NTYyIC0wLjE2ODAyNDk5NjAxMjMyNzIgTCAtMC4zNDQ4MzY1ODQ2NTc0NzQ2IC05LjgwNDQ3MTk3OTI5MTEgTCAtMy40MjU4ODE5ODU0MzY3MTM1IC04LjY4NDAxMTc2ODkzMjI5NyBMIDIuNjIzODk4NTgxODM2OTI2NyAtMjIuNzQ1MDM4ODA0NzI5ODc3IEwgNS4zMTMxNzkyMjg4NjQwMjMgLTcuNjc1ODYxNzkyODU4MzM2IEwgMi41NjgxODM4MjAxMDk0Mzc2IC05LjQ2ODQyMTk4NzI2NjQ0NyBMIDEuNDU2NTEwMjAyMzgzNDU2MiAwLjE2ODAyNDk5NjAxMjMyNzIgTCAtMS40NTY1MTAyMDIzODM0NTYyIC0wLjE2ODAyNDk5NjAxMjMyNzJcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzQuNTU2MzUxMzc4Mjg2MzQ2LCAyNS43ODg1MDY5MDQzNTg3NzZdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfODZkMWRmNTBmM2RiNGFjZDg3N2ZiYjIyNGE4YjQ4NGYuc2V0SWNvbihkaXZfaWNvbl9kY2NiY2MyNzFiNmY0MGJlYTExZTJlNzkwMzM2Yzg4Myk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jYTQwOGJmY2E1N2I0YmJkYjgzMDlmZDMzYmFjMDk5NiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDcyOTUsIC0zOC41MDkxNzVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9kNGM0OGNlOGUyZDM0MTc4YTM2NmZjMmYzMzcwODA5ZCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjExcHhcIiBoZWlnaHQ9XCIzMXB4XCIgdmlld0JveD1cIi02LjUxNjU0MzA3NjM0MzQ1MSAtMjcuNzMwMDYxNDExODI5ODMgMTEuMCAzMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMS40NTg2ODQzNjc2NTk1NzQgMC4xNDc5NjcxNzM2NDg4NDU4NyBMIC0yLjYyMzE5NDYxNzY1MTg3IC0xMS4zMzE5NjM1MTQ3MjM0OSBMIC01LjM5MjU5NjE3OTMyMjE3MiAtOS41NzczNDQ3OTk3NjYyMjUgTCAtMi40OTYyMTQ4MTI4MzE5MDkgLTI0LjYwODA4OTk5NzMwODUwNCBMIDMuMzU5NTEwMDI2NjM1MjcxIC0xMC40NjUxNDc4NDE2NTkzIEwgMC4yOTQxNzQxMTc2NjcyNzgxIC0xMS42Mjc4OTc4NjIwMjExODQgTCAxLjQ1ODY4NDM2NzY1OTU3NCAtMC4xNDc5NjcxNzM2NDg4NDU4NyBMIC0xLjQ1ODY4NDM2NzY1OTU3NCAwLjE0Nzk2NzE3MzY0ODg0NTg3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFs2LjUxNjU0MzA3NjM0MzQ1MSwgMjcuNzMwMDYxNDExODI5ODNdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfY2E0MDhiZmNhNTdiNGJiZGI4MzA5ZmQzM2JhYzA5OTYuc2V0SWNvbihkaXZfaWNvbl9kNGM0OGNlOGUyZDM0MTc4YTM2NmZjMmYzMzcwODA5ZCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl85MmZiNWMwMmYzMDg0OGY1OGJmMGY1YWM3NTkyODg1ZSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDY0ODUsIC0zOC41MDkxN10sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2QwY2M3MDBjOGEyMjRmZDE5ZmQ5MTQxNjViOWIxZmE2ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTFweFwiIGhlaWdodD1cIjMzcHhcIiB2aWV3Qm94PVwiLTQuMDU1OTI1NjE3MDUwNzQ5IC0yOS4xOTY0ODM5Njk2MTk4MzQgMTEuMCAzMy4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMS40NTM3OTcwNjIxNzc4NSAtMC4xOTAwNzQ5MDg3NDY3NjYwOCBMIDAuMTgwMzUyMjI5NTE4MTY2NzMgLTEyLjY4ODk0NDE5NzEzMjU0MyBMIC0yLjkxNzMxNjgwMzU4NDI5OSAtMTEuNjE1Mjk2OTUyNDQ4MjI0IEwgMy4zNDQ4MjM0NzA0MTY5MTE1IC0yNS41ODMwNDI4NDc5ODY0MyBMIDUuODA1NDY1NTY5NDgyOCAtMTAuNDc0ODQ3NDk5OTY3NjI5IEwgMy4wODc5NDYzNTM4NzM4NjY3IC0xMi4zMDg3OTQzNzk2MzkwMTIgTCAxLjQ1Mzc5NzA2MjE3Nzg1IDAuMTkwMDc0OTA4NzQ2NzY2MDggTCAtMS40NTM3OTcwNjIxNzc4NSAtMC4xOTAwNzQ5MDg3NDY3NjYwOFwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbNC4wNTU5MjU2MTcwNTA3NDksIDI5LjE5NjQ4Mzk2OTYxOTgzNF0sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl85MmZiNWMwMmYzMDg0OGY1OGJmMGY1YWM3NTkyODg1ZS5zZXRJY29uKGRpdl9pY29uX2QwY2M3MDBjOGEyMjRmZDE5ZmQ5MTQxNjViOWIxZmE2KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyX2MyY2JlNjY0MjI2OTQzNGFhZDY1ZTBjMGI0YjI1ZDJjID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwNTY3MTY2NjY2NjY2NiwgLTM4LjUwOTEzNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzk1MDY2Mjg1NzY1ODQ4MWJiZTI4MzNkY2Y2MGY4OTMyID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTFweFwiIGhlaWdodD1cIjI2cHhcIiB2aWV3Qm94PVwiLTcuNTEyNzU1NTg4NTE0Mzg5NSAtMjIuODcwNzE2NjgyOTUzNjg1IDExLjAgMjYuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTEuMzk5NjI3Njg4NTQxNjI2IDAuNDM2Njg4MzM1NTQzMzk5NzUgTCAtMy43NjUwNzE0Njc2OTQ4NTYgLTcuMTQ0Nzg0MTY5MDMyNzM2IEwgLTYuMTI3NjM4NTA5MjM0NzA3IC00Ljg3MTc3OTgwOTQwNDMxIEwgLTYuMjk1NjM4Nzk5MDQzODI3IC0yMC4xNzgxMjE3MDE0NTA3NjcgTCAyLjI3MDEyNzYyMjAxNTA0NzUgLTcuNDkxOTA5ODIyNjY0NzA4NSBMIC0wLjk2NTgxNjA5MDYxMTYwNDEgLTguMDE4MTYwODQwMTE5NTM3IEwgMS4zOTk2Mjc2ODg1NDE2MjYgLTAuNDM2Njg4MzM1NTQzMzk5NzUgTCAtMS4zOTk2Mjc2ODg1NDE2MjYgMC40MzY2ODgzMzU1NDMzOTk3NVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbNy41MTI3NTU1ODg1MTQzODk1LCAyMi44NzA3MTY2ODI5NTM2ODVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYzJjYmU2NjQyMjY5NDM0YWFkNjVlMGMwYjRiMjVkMmMuc2V0SWNvbihkaXZfaWNvbl85NTA2NjI4NTc2NTg0ODFiYmUyODMzZGNmNjBmODkzMik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jMWQ1M2FkMDk1OGQ0ZjdkODM4MWU2N2EwN2JlY2NjNSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDQ5NDUsIC0zOC41MDg4Ml0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2I5ODljNDk2ZGEwYjRmMDJhMDE3MmRkYTQwYjFlOTk0ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjI1cHhcIiB2aWV3Qm94PVwiLTMuMjQ2ODc2OTAyNDc1MjExIC0yMS41NTg5NDUwOTA5ODg2MyAxMi4wIDI1LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0xLjM1OTUzMDA2MTAxMDQ0OTMgLTAuNTQ4OTM3NTAyOTQ2MzQgTCAxLjIzNzEzODExNjI0NDY1NCAtNi45Nzk5OTQ2Mzg3NzU5MDQgTCAtMi4wMzA4NTk1MDg3MjI1ODUgLTYuNzE4MzM5NTgzNjU4MTM0NiBMIDcuNTM3MTA1NzAzNzcyMTY0IC0xOC42NjY4Mjc2ODQ5MjM2MDQgTCA2LjEyNjMyMDg1NzM0MDExMiAtMy40MjQ3MTQ1NjU5ODAwOTQgTCAzLjk1NjE5ODIzODI2NTU1MiAtNS44ODIxMTk2MzI4ODMyMjMgTCAxLjM1OTUzMDA2MTAxMDQ0OTMgMC41NDg5Mzc1MDI5NDYzNCBMIC0xLjM1OTUzMDA2MTAxMDQ0OTMgLTAuNTQ4OTM3NTAyOTQ2MzRcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMjQ2ODc2OTAyNDc1MjExLCAyMS41NTg5NDUwOTA5ODg2M10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl9jMWQ1M2FkMDk1OGQ0ZjdkODM4MWU2N2EwN2JlY2NjNS5zZXRJY29uKGRpdl9pY29uX2I5ODljNDk2ZGEwYjRmMDJhMDE3MmRkYTQwYjFlOTk0KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzFhZGVhZGVmOGYxZTQyMjk5NjUyOTc4ZmUwMDBiNzEyID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwNDMyNSwgLTM4LjUwODI3MzMzMzMzMzMzNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzAxMmQ3M2U0ZTY1ODQ3YTFiMTU0NzdhZmFjMWI0YmI5ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE3cHhcIiB2aWV3Qm94PVwiLTMuMTAyMDAzODE2NjI3NjgyNyAtMTMuODMxOTMzMjczMjUzNjQgMTcuMCAxNy4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMS4wMzI2OTAyNTAzNDE5MzY2IC0xLjA0MDc3MTQ1MjIzMTgyNzcgTCAxLjc1MTI1NTQ5OTYxNTk3NSAtMy44MDMxMDA5MDI0NjU0NjMgTCAtMS4zNTQ4OTY0NTMyOTk3MjU2IC00Ljg1MTk1MzU1NjU4NzE4MiBMIDEyLjE1MDg4ODgyMDA0NDM2MSAtMTIuMDU2NTQxNzAzMzExMDY0IEwgNC44NDEyNDUwNDg3NTE4OTQgMS4zOTI2NzUxNTY4MDM3ODU0IEwgMy44MTY2MzYwMDAyOTk4NDg1IC0xLjcyMTU1Nzk5ODAwMTgwNzIgTCAxLjAzMjY5MDI1MDM0MTkzNjYgMS4wNDA3NzE0NTIyMzE4Mjc3IEwgLTEuMDMyNjkwMjUwMzQxOTM2NiAtMS4wNDA3NzE0NTIyMzE4Mjc3XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszLjEwMjAwMzgxNjYyNzY4MjcsIDEzLjgzMTkzMzI3MzI1MzY0XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzFhZGVhZGVmOGYxZTQyMjk5NjUyOTc4ZmUwMDBiNzEyLnNldEljb24oZGl2X2ljb25fMDEyZDczZTRlNjU4NDdhMWIxNTQ3N2FmYWMxYjRiYjkpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfMzM0OWVlOThiMDA5NDMzZThjNjBjNjNjNzFiOTMyMzggPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDAzNzE1LCAtMzguNTA3NjldLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl85MmNlMTE3MDkyYWY0Nzc4OGNjNmM1YmE1MDE3YTAzYyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjE3cHhcIiBoZWlnaHQ9XCIyMnB4XCIgdmlld0JveD1cIi0zLjEwMjQ2NzQyOTgyMjg0OSAtMTguNzA3ODUxMDY3Mjk4ODA1IDE3LjAgMjIuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTEuMTgxMTM3OTM3NjM3NzQ3NSAtMC44Njg2NTg0NzIxMzA5NTYzIEwgMi45NzcxMzg4OTExNzU2OTMgLTYuNTIyNzc3NjQwMTE5Nzk3IEwgLTAuMjUzNzk1NDU2MjMwNzU4NDQgLTcuMDc4OTU2NjQ2NzQzOTYyIEwgMTEuOTc2MjAzMDc3OTkyMDQ4IC0xNi4yODQzNjA2MDY3Mjg1NyBMIDYuODMzMDMyMTY5NTk1NzI4IC0xLjg2NzAwNTgxMzk1ODIyMzUgTCA1LjMzOTQxNDc2NjQ1MTE4OCAtNC43ODU0NjA2OTU4NTc4ODQgTCAxLjE4MTEzNzkzNzYzNzc0NzUgMC44Njg2NTg0NzIxMzA5NTYzIEwgLTEuMTgxMTM3OTM3NjM3NzQ3NSAtMC44Njg2NTg0NzIxMzA5NTYzXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFszLjEwMjQ2NzQyOTgyMjg0OSwgMTguNzA3ODUxMDY3Mjk4ODA1XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzMzNDllZTk4YjAwOTQzM2U4YzYwYzYzYzcxYjkzMjM4LnNldEljb24oZGl2X2ljb25fOTJjZTExNzA5MmFmNDc3ODhjYzZjNWJhNTAxN2EwM2MpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYmQzOWI3NmJiMDI5NDE1OTgxNmFlMGM5YjIyNzNkZDUgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDAzMTI2NjY2NjY2NjY3LCAtMzguNTA3MTRdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl82MDUzMTVmMzQ4ZmE0YTkzOGI2ODhiZTdmNDVmYWM5NyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjExcHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0zLjAyNzA2MDM5MzM2NDc1NyAtNy42NDgyMTMxNjY3OTg3NDY1IDExLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuNjM1MTg1NzI1MDA4NjQxMyAtMC42ODUxNDM2Mzg4Mjk2NDA5IEwgMC4wNDk5NTc5MTM4MjA5OTk1NiAtMS4zMjAzMjkzNjM4MzgyODI1IEwgLTEuOTA1NTU3MTc1MDI1OTI0IC0yLjA1NTQzMDkxNjQ4ODkyMjQgTCA2Ljg1MTQzNjM4ODI5NjQxMSAtNi4zNTE4NTcyNTAwODY0MTUgTCAxLjkwNTU1NzE3NTAyNTkyNCAyLjA1NTQzMDkxNjQ4ODkyMjQgTCAxLjMyMDMyOTM2MzgzODI4MjUgMC4wNDk5NTc5MTM4MjA5OTk1NiBMIDAuNjM1MTg1NzI1MDA4NjQxMyAwLjY4NTE0MzYzODgyOTY0MDkgTCAtMC42MzUxODU3MjUwMDg2NDEzIC0wLjY4NTE0MzYzODgyOTY0MDlcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMDI3MDYwMzkzMzY0NzU3LCA3LjY0ODIxMzE2Njc5ODc0NjVdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYmQzOWI3NmJiMDI5NDE1OTgxNmFlMGM5YjIyNzNkZDUuc2V0SWNvbihkaXZfaWNvbl82MDUzMTVmMzQ4ZmE0YTkzOGI2ODhiZTdmNDVmYWM5Nyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9hNzg1YWExZjM2N2Y0OWFkOTkwMzc5ZmQ2NjljNzUwZCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDI1NjUsIC0zOC41MDY1XSwKICAgICAgICAgICAgICAgIHt9CiAgICAgICAgICAgICkuYWRkVG8obWFwX2QyYmM4YzM1YmJkZTQ4ODVhOTJhYmI5NTY1NmIwNjU4KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgZGl2X2ljb25fZTg3NmI5MGY4YjZiNGI5ZTgyMWVkNjMzZTY2ODM5OWMgPSBMLmRpdkljb24oeyJjbGFzc05hbWUiOiAiZW1wdHkiLCAiaHRtbCI6ICJcdTAwM2Nzdmcgd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMTZweFwiIHZpZXdCb3g9XCItMy40ODQzMjE5ODIzMzg0Njk3IC0xMi44MTkzMTkxOTQxNjY2OSAyNC4wIDE2LjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIC0wLjc2NTIyODk5OTMyNjA5NTggLTEuMjUwNjMxNDE5NTMyNzE4IEwgNS43NzU2NzMyNTk1Mjg2MDIgLTUuMjUyODQwMjMzNDYzOTU2IEwgMi45OTQ1ODM4NDEzNDM2OTE2IC02Ljk4ODg3NDA3MzIwMzI5NiBMIDE3Ljc5NjU4NTAzNDY0OTE2IC0xMC44ODkyNjk4MDc4NjYwOTggTCA3LjU4NTk1NzgzNzMwMDI2NyAwLjUxNDkxNDQ0Mzk5MzAxMTggTCA3LjMwNjEzMTI1ODE4MDc5MyAtMi43NTE1NzczOTQzOTg1MTkzIEwgMC43NjUyMjg5OTkzMjYwOTU4IDEuMjUwNjMxNDE5NTMyNzE4IEwgLTAuNzY1MjI4OTk5MzI2MDk1OCAtMS4yNTA2MzE0MTk1MzI3MThcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuNDg0MzIxOTgyMzM4NDY5NywgMTIuODE5MzE5MTk0MTY2NjldLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYTc4NWFhMWYzNjdmNDlhZDk5MDM3OWZkNjY5Yzc1MGQuc2V0SWNvbihkaXZfaWNvbl9lODc2YjkwZjhiNmI0YjllODIxZWQ2MzNlNjY4Mzk5Yyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl84ZmRkZWJiNzQ0ZjI0NDcyYTczYmM0YjZjZDBkYzVhMSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDE5NCwgLTM4LjUwNTldLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl84OTkyYTc2ZGYwYjE0NGMzODkyZjM1OGI4OGM2YWIwOCA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjE5cHhcIiBoZWlnaHQ9XCIxOHB4XCIgdmlld0JveD1cIi0yLjk3Mjg2MTAyNjU2ODU0MiAtMTQuOTQyMjUwOTIyMDU1NTg3IDE5LjAgMTguMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTAuOTk0MjM0MTk5NDc1NDc0MiAtMS4wNzc1Njc5Njc5Mzc3MDg0IEwgMy4zNTYxNjYyMzU0MjM1NDE1IC01LjA5MTUyOTk4NDcwNzMyMSBMIDAuMjkwMTI5ODY4NTM0ODg0NzYgLTYuMjUyNDMxNzIxMTA3MjY1IEwgMTQuMDQ4NTEyMTQ2MzM4Mzg5IC0xMi45NjIwNjk4MTIwNDg4ODMgTCA2LjI1NTUzNTA2NTM4NzczIDAuMjEyOTc2MDg2NTE4OTg1NzIgTCA1LjM0NDYzNDYzNDM3NDQ4OSAtMi45MzYzOTQwNDg4MzE5MDUgTCAwLjk5NDIzNDE5OTQ3NTQ3NDIgMS4wNzc1Njc5Njc5Mzc3MDg0IEwgLTAuOTk0MjM0MTk5NDc1NDc0MiAtMS4wNzc1Njc5Njc5Mzc3MDg0XCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyLjk3Mjg2MTAyNjU2ODU0MiwgMTQuOTQyMjUwOTIyMDU1NTg3XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzhmZGRlYmI3NDRmMjQ0NzJhNzNiYzRiNmNkMGRjNWExLnNldEljb24oZGl2X2ljb25fODk5MmE3NmRmMGIxNDRjMzg5MmYzNThiODhjNmFiMDgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfNjJhNzM4YWY4ODEyNGZkY2IyZDdlYWNhODM3N2E0Y2EgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDAxNTEsIC0zOC41MDUyMTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl8xM2QwOGZiNmQ4NmI0NGU5YjdjZmFmOGViMDJiZmUyZiA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjIycHhcIiBoZWlnaHQ9XCIxMXB4XCIgdmlld0JveD1cIi0yLjI2MjI3NjkyMzIwNjkxMzUgLTUuNTAwMDAwNDE0MzE1NTU4IDIyLjAgMTEuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gLTIuMTU4ODkwMjIzNzIxNDYxZS0wNyAtMS40NjYxNjk5NjU5MDg0NTI0IEwgNC4yNzk5MTY0NjA0MTAxIC0xLjQ2NjE3MDU5NjExMzAzMiBMIDIuODEzNzQ2MDYyNzIzNjAzMyAtNC4zOTg1MTAzMTIwNDA5MTQgTCAxNy40NzU0NDYzNjk0NzUxOTMgLTIuNTczMjA1NzgxMDEyNzMyZS0wNiBMIDIuODEzNzQ3MzU4MDU3NzM3NSA0LjM5ODUwOTQ4MzQwOTc5OSBMIDQuMjc5OTE2ODkyMTg4MTQ1IDEuNDY2MTY5MzM1NzAzODcyNSBMIDIuMTU4ODkwMjIzNzIxNDYxZS0wNyAxLjQ2NjE2OTk2NTkwODQ1MjQgTCAtMi4xNTg4OTAyMjM3MjE0NjFlLTA3IC0xLjQ2NjE2OTk2NTkwODQ1MjRcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzIuMjYyMjc2OTIzMjA2OTEzNSwgNS41MDAwMDA0MTQzMTU1NThdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfNjJhNzM4YWY4ODEyNGZkY2IyZDdlYWNhODM3N2E0Y2Euc2V0SWNvbihkaXZfaWNvbl8xM2QwOGZiNmQ4NmI0NGU5YjdjZmFmOGViMDJiZmUyZik7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl85YmYyNjczYmI1ODY0Y2RkYWE0OGMxZWNmM2EzZjQzZiA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDE4MjE2NjY2NjY2NjYsIC0zOC41MDQ0NF0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzVmYzZhZTQzYzE5ZjRhZTBiOTczOTQwZmYyODRmMzMzID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjhweFwiIGhlaWdodD1cIjExcHhcIiB2aWV3Qm94PVwiLTMuMDQxNzcwMTg2ODY5NjQzIC02LjczNTcwNzUzMTU0MDE1NjQgMjguMCAxMS4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAtMC4yMzMwNzkyMjc2NzkzOTIxIC0xLjQ0NzUyNDkzNjc2NDk2NTQgTCA4Ljg4ODczNTE5NTM3NjAyMyAtMi45MTYzMTE2OTU5ODQ1MTUgTCA2Ljk3NTA1MTgwMzI1MjI3NCAtNS41NzgyODIzNDE4MzUwNTMgTCAyMi4xNDk1Mzg4NTM5NDAxMDQgLTMuNTY2NDk5ODA4MzM0MDc3OCBMIDguMzczNTI3MTY5MzI4NjI1IDMuMTA2ODY3Mjc4NzU0NzM5NiBMIDkuMzU0ODkzNjUwNzM0ODA3IC0wLjAyMTI2MTgyMjQ1NDU4MzQzNyBMIDAuMjMzMDc5MjI3Njc5MzkyMSAxLjQ0NzUyNDkzNjc2NDk2NTQgTCAtMC4yMzMwNzkyMjc2NzkzOTIxIC0xLjQ0NzUyNDkzNjc2NDk2NTRcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzMuMDQxNzcwMTg2ODY5NjQzLCA2LjczNTcwNzUzMTU0MDE1NjRdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfOWJmMjY3M2JiNTg2NGNkZGFhNDhjMWVjZjNhM2Y0M2Yuc2V0SWNvbihkaXZfaWNvbl81ZmM2YWU0M2MxOWY0YWUwYjk3Mzk0MGZmMjg0ZjMzMyk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl80OTliNjNmNTNlNjE0MjQ1OTg5YTE2NTY0YWIwNmZmMSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDIwMSwgLTM4LjUwMzYzNV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzY0NTg3NGY4N2E1MzRkZjNhNTk4MjQwNzY3YTEyYzQ2ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMjBweFwiIGhlaWdodD1cIjEzcHhcIiB2aWV3Qm94PVwiLTIuNzA2MjE2MDMxMzQ1NDE2NCAtNS4wODc1NDkzNzYxODgwMjQgMjAuMCAxMy4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAwLjU1ODMyNzc0NTY5ODY5MjEgLTEuMzU1NzAwNzQwMzI0MDA1MSBMIDMuNTAyOTE2NzY1NzkwNTA1IC0wLjE0MzAwOTk4ODgyMDc4OTg2IEwgMy4yNjM4NzE1MTY4NjM4ODQ1IC0zLjQxMjczOTIxNTE2NzQ5MjUgTCAxNS4xNDU4OTU2ODMwMDc4NiA2LjIzNzY0MDQ2Mjc5MTQ0NSBMIC0wLjA4NjA5NDk1NzMyODI2ODMgNC43MjE0NjUyMjY3NzY1MzggTCAyLjM4NjI2MTI3NDM5MzEyMSAyLjU2ODM5MTQ5MTgyNzIyMDQgTCAtMC41NTgzMjc3NDU2OTg2OTIxIDEuMzU1NzAwNzQwMzI0MDA1MSBMIDAuNTU4MzI3NzQ1Njk4NjkyMSAtMS4zNTU3MDA3NDAzMjQwMDUxXCIgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjBcIiBzdHJva2Utb3BhY2l0eT1cIjAuOFwiIGZpbGw9XCIjMDBCRkZGXCIgZmlsbC1vcGFjaXR5PVwiMC44XCIgL1x1MDAzZVx1MDAzYy9zdmdcdTAwM2UiLCAiaWNvbkFuY2hlciI6IFsyLjcwNjIxNjAzMTM0NTQxNjQsIDUuMDg3NTQ5Mzc2MTg4MDI0XSwgImljb25TaXplIjogWzE0LCAxNF19KTsKICAgICAgICAgICAgbWFya2VyXzQ5OWI2M2Y1M2U2MTQyNDU5ODlhMTY1NjRhYjA2ZmYxLnNldEljb24oZGl2X2ljb25fNjQ1ODc0Zjg3YTUzNGRmM2E1OTgyNDA3NjdhMTJjNDYpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBtYXJrZXJfYzFhNTkxZmMwY2E2NGE3YmI4ZGZmMTM0OGMzZGJhZGEgPSBMLm1hcmtlcigKICAgICAgICAgICAgICAgIFstMTMuMDAyNTksIC0zOC41MDMwMTVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl81ZTgwODk5MmMzNTE0Mjk5ODAxMzdmNGYxZGVjNzU1OSA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIzMHB4XCIgdmlld0JveD1cIi0zLjkzNzkyNTUzNTI5NTEyIC00LjIyOTgyNTkwNTMyMzk0OSAyNC4wIDMwLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDEuMTYxNDI3MTg4NTA1OTI1IC0wLjg5NDg0MTQ2OTA0OTgzMTkgTCAxMC4zOTM0MzAwODQ5NzMxMjQgMTEuMDg3NTAzNDkyNzk4NzcgTCAxMS44MjE0NDI5OTI5MzUxNDMgOC4xMzYzOTMzNjYxOTMxODIgTCAxNy4yODU1NzYxMTc5MTU2ODUgMjIuNDM1MTg5NjU4NDAxOTMgTCA0Ljg1Mjg3OTg2MTg5OTU5MiAxMy41MDU0NDIxODA0OTIxNzMgTCA4LjA3MDU3NTcwNzk2MTI3MyAxMi44NzcxODY0MzA4OTg0MzMgTCAtMS4xNjE0MjcxODg1MDU5MjUgMC44OTQ4NDE0NjkwNDk4MzE5IEwgMS4xNjE0MjcxODg1MDU5MjUgLTAuODk0ODQxNDY5MDQ5ODMxOVwiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbMy45Mzc5MjU1MzUyOTUxMiwgNC4yMjk4MjU5MDUzMjM5NDldLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYzFhNTkxZmMwY2E2NGE3YmI4ZGZmMTM0OGMzZGJhZGEuc2V0SWNvbihkaXZfaWNvbl81ZTgwODk5MmMzNTE0Mjk5ODAxMzdmNGYxZGVjNzU1OSk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl9jNzg3YmQ0Yzg4OGQ0NWEzYWYyNGIzMjE1N2VmNzFiYSA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDMzNjY2NjY2NjY2NjcsIC0zOC41MDI3NDMzMzMzMzMzMzVdLAogICAgICAgICAgICAgICAge30KICAgICAgICAgICAgKS5hZGRUbyhtYXBfZDJiYzhjMzViYmRlNDg4NWE5MmFiYjk1NjU2YjA2NTgpOwogICAgICAgIAogICAgCiAgICAgICAgICAgIHZhciBkaXZfaWNvbl9hNGE1OTY3ZmFmNjA0YzBmYjlmZmNlOGNkODFjZWU1MyA9IEwuZGl2SWNvbih7ImNsYXNzTmFtZSI6ICJlbXB0eSIsICJodG1sIjogIlx1MDAzY3N2ZyB3aWR0aD1cIjExcHhcIiBoZWlnaHQ9XCIyMHB4XCIgdmlld0JveD1cIi01LjM5MDU5MjIxNzI1MjIxNCAtMi4zNzgwNDYyOTcyMjQ4NzUzIDExLjAgMjAuMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCJcdTAwM2UgIFx1MDAzY3BhdGggZD1cIk0gMS40NTQ4ODMzNTAwMDcyOTI5IC0wLjE4MTU3MzE0NDQ5OTkzOTk3IEwgMS43NDU4NjQyNzcyNTUwMTc3IDIuMTQ5OTU3MjU1NDg0NjE2MiBMIDQuNDc0MDU3ODMyNzY5NjY0IDAuMzMxOTI3NjE2NDc3NDQzOCBMIDEuOTI1MTM5MjI3NzQ3MTg0NiAxNS40MjU0ODA1NTAwNTAxOSBMIC00LjI1NTI0MjI2NzI3NDA5MzUgMS40MjEzNjY0ODM0NzcwODM2IEwgLTEuMTYzOTAyNDIyNzU5NTY3NiAyLjUxMzEwMzU0NDQ4NDQ5NjcgTCAtMS40NTQ4ODMzNTAwMDcyOTI5IDAuMTgxNTczMTQ0NDk5OTM5OTcgTCAxLjQ1NDg4MzM1MDAwNzI5MjkgLTAuMTgxNTczMTQ0NDk5OTM5OTdcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzUuMzkwNTkyMjE3MjUyMjE0LCAyLjM3ODA0NjI5NzIyNDg3NTNdLCAiaWNvblNpemUiOiBbMTQsIDE0XX0pOwogICAgICAgICAgICBtYXJrZXJfYzc4N2JkNGM4ODhkNDVhM2FmMjRiMzIxNTdlZjcxYmEuc2V0SWNvbihkaXZfaWNvbl9hNGE1OTY3ZmFmNjA0YzBmYjlmZmNlOGNkODFjZWU1Myk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIG1hcmtlcl81MDQ1ZTc3OTQ2MTI0YjQxOGE3MGQyNTllNmE5MjNmZCA9IEwubWFya2VyKAogICAgICAgICAgICAgICAgWy0xMy4wMDQxOTUsIC0zOC41MDI1Nl0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uX2JlNjIzNGU1YWNjZjQxYTc4MWM0Yzc0Yzc5Yjc1NTg3ID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTFweFwiIGhlaWdodD1cIjIwcHhcIiB2aWV3Qm94PVwiLTUuNDY1MDkyNjc3NjI3ODg1IC0yLjQ3MzMyOTAwNDUwODg4NyAxMS4wIDIwLjBcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiXHUwMDNlICBcdTAwM2NwYXRoIGQ9XCJNIDEuNDYyOTAzOTk5OTgxNjMxOCAtMC4wOTc4MDcyMzc4MTg5OTE2NyBMIDEuNTk1NjE4NTYwMTcyNzM5IDEuODg3MjA1OTkxMTQ3NTQgTCA0LjQyMzYxOTMyMjMxNzAxMSAwLjIyODY4NzUxNTUyNzkyNTEzIEwgMS4wMTI5Nzk3MDA1NjIwMzI1IDE1LjE1MTE0OTIyODgwMTIxNiBMIC00LjM1MzgwNDY3NzU3Mjc4IDAuODE1NTMwOTQyNDQxODc1MiBMIC0xLjMzMDE4OTQzOTc5MDUyNDUgMi4wODI4MjA0NjY3ODU1MjQgTCAtMS40NjI5MDM5OTk5ODE2MzE4IDAuMDk3ODA3MjM3ODE4OTkxNjcgTCAxLjQ2MjkwMzk5OTk4MTYzMTggLTAuMDk3ODA3MjM3ODE4OTkxNjdcIiBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMFwiIHN0cm9rZS1vcGFjaXR5PVwiMC44XCIgZmlsbD1cIiMwMEJGRkZcIiBmaWxsLW9wYWNpdHk9XCIwLjhcIiAvXHUwMDNlXHUwMDNjL3N2Z1x1MDAzZSIsICJpY29uQW5jaGVyIjogWzUuNDY1MDkyNjc3NjI3ODg1LCAyLjQ3MzMyOTAwNDUwODg4N10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl81MDQ1ZTc3OTQ2MTI0YjQxOGE3MGQyNTllNmE5MjNmZC5zZXRJY29uKGRpdl9pY29uX2JlNjIzNGU1YWNjZjQxYTc4MWM0Yzc0Yzc5Yjc1NTg3KTsKICAgICAgICAKICAgIAogICAgICAgICAgICB2YXIgbWFya2VyXzQ0MWE4OTY5ZWUwODQ0ODZiMGM3ZjNlMDZiZDFkNTIwID0gTC5tYXJrZXIoCiAgICAgICAgICAgICAgICBbLTEzLjAwNDkzNjY2NjY2NjY2NywgLTM4LjUwMjM3NV0sCiAgICAgICAgICAgICAgICB7fQogICAgICAgICAgICApLmFkZFRvKG1hcF9kMmJjOGMzNWJiZGU0ODg1YTkyYWJiOTU2NTZiMDY1OCk7CiAgICAgICAgCiAgICAKICAgICAgICAgICAgdmFyIGRpdl9pY29uXzMwOWY2MTJiMDIyMTQ0Zjg4ZDAyNWYxMWJjNDQ5NzdlID0gTC5kaXZJY29uKHsiY2xhc3NOYW1lIjogImVtcHR5IiwgImh0bWwiOiAiXHUwMDNjc3ZnIHdpZHRoPVwiMTFweFwiIGhlaWdodD1cIjM0cHhcIiB2aWV3Qm94PVwiLTYuMjQ3OTA3NzY0OTQwODQzIC0zLjg4MzM5MzA3NDQwMTE4NzMgMTEuMCAzNC4wXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIlx1MDAzZSAgXHUwMDNjcGF0aCBkPVwiTSAxLjQ2MzE4MDk5MjE1NjkyNCAwLjA5MzU3MjE4MTM1MDY0NjYzIEwgMC42MjE3MDEwNDU4NjU0MzQ3IDEzLjI1MTcyOTI4NDQ4NjU5NyBMIDMuNjQxNjM1MjExNTI5OTMgMTEuOTc1NjkyNjU1MDMwOTY3IEwgLTEuNjgzNjI5NTc4NDQ3MzA5IDI2LjMyNjc4NjAzMjU0ODI3IEwgLTUuMTM3NDUwNzQxNDExNjE2IDExLjQxNDI1OTU2NjkyNzA4OCBMIC0yLjMwNDY2MDkzODQ0ODQxMzQgMTMuMDY0NTg0OTIxNzg1MzA0IEwgLTEuNDYzMTgwOTkyMTU2OTI0IC0wLjA5MzU3MjE4MTM1MDY0NjYzIEwgMS40NjMxODA5OTIxNTY5MjQgMC4wOTM1NzIxODEzNTA2NDY2M1wiIHN0cm9rZT1cIm5vbmVcIiBzdHJva2Utd2lkdGg9XCIwXCIgc3Ryb2tlLW9wYWNpdHk9XCIwLjhcIiBmaWxsPVwiIzAwQkZGRlwiIGZpbGwtb3BhY2l0eT1cIjAuOFwiIC9cdTAwM2VcdTAwM2Mvc3ZnXHUwMDNlIiwgImljb25BbmNoZXIiOiBbNi4yNDc5MDc3NjQ5NDA4NDMsIDMuODgzMzkzMDc0NDAxMTg3M10sICJpY29uU2l6ZSI6IFsxNCwgMTRdfSk7CiAgICAgICAgICAgIG1hcmtlcl80NDFhODk2OWVlMDg0NDg2YjBjN2YzZTA2YmQxZDUyMC5zZXRJY29uKGRpdl9pY29uXzMwOWY2MTJiMDIyMTQ0Zjg4ZDAyNWYxMWJjNDQ5NzdlKTsKICAgICAgICAKPC9zY3JpcHQ+\" style=\"position:absolute;width:100%;height:100%;left:0;top:0;border:none !important;\" allowfullscreen webkitallowfullscreen mozallowfullscreen></iframe></div></div>"
      ],
      "text/plain": [
       "<folium.folium.Map at 0x7f458cc8fb00>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = folium.Map(\n",
    "    location=[lat, lon],\n",
    "    tiles='Cartodb Positron',\n",
    "    zoom_start=zoom_start\n",
    ")\n",
    "\n",
    "icon_size = (14, 14)\n",
    "\n",
    "for feature in gj['features']:\n",
    "    if feature['geometry']['type'] == 'LineString':\n",
    "        continue\n",
    "    elif feature['geometry']['type'] == 'Point':\n",
    "        lon, lat = feature['geometry']['coordinates']\n",
    "        html = feature['properties']['html']\n",
    "\n",
    "        icon_anchor = (feature['properties']['anchor_x'],\n",
    "                       feature['properties']['anchor_y'])\n",
    "\n",
    "        icon = folium.features.DivIcon(html=html,\n",
    "                                       icon_size=(14, 14),\n",
    "                                       icon_anchor=icon_anchor)\n",
    "        marker = folium.map.Marker([lat, lon], icon=icon)\n",
    "        m.add_child(marker)\n",
    "    else:\n",
    "        msg = 'Unexpected geometry {}'.format\n",
    "        raise ValueError(msg(feature['geometry']))\n",
    "\n",
    "m.save(os.path.join('results', 'Folium_and_mplleaflet_1.html'))\n",
    "\n",
    "m"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
